Classes

trait Classes extends ClassOperations

This trait provides functions to instantiate classes

Companion:
object
class Object
trait Matchable
class Any
object Classes.type

Value members

Concrete methods

def createInstance[T <: AnyRef](className: String, loader: ClassLoader, defaultInstances: => List[AnyRef])(implicit m: ClassTag[T]): Operation[T]
def createInstanceEither[T <: AnyRef](className: String, loader: ClassLoader, defaultInstances: => List[AnyRef])(implicit m: ClassTag[T]): Operation[Either[Throwable, T]]

try to create an instance but return an exception if this is not possible

try to create an instance but return an exception if this is not possible

def createInstanceFromClass[T <: AnyRef](klass: Class[T], defaultInstances: => List[AnyRef])(implicit m: ClassTag[T]): Operation[T]
def createInstanceFromClass[T <: AnyRef](klass: Class[T], loader: ClassLoader, defaultInstances: => List[AnyRef])(implicit m: ClassTag[T]): Operation[T]
def createInstanceFromName[T <: AnyRef](className: String, defaultInstances: => List[AnyRef])(implicit m: ClassTag[T]): Operation[T]

Try to create an instance of a given class by using whatever constructor is available and trying to instantiate the first parameter recursively if there is a parameter for that constructor.

Try to create an instance of a given class by using whatever constructor is available and trying to instantiate the first parameter recursively if there is a parameter for that constructor.

This is useful to instantiate nested classes which are referencing their outer class in their constructor

def existsClass(className: String, loader: ClassLoader): Operation[Boolean]
Returns:

true if a class can be loaded

def loadClass[T <: AnyRef](className: String, loader: ClassLoader): Operation[Class[T]]
def loadClassEither[T <: AnyRef](className: String, loader: ClassLoader): Operation[Either[Throwable, Class[T]]]

Load a class, given the class name

Load a class, given the class name