ClassOperations
trait ClassOperations
This trait provides functions to instantiate classes
Value members
Abstract methods
def createInstance[T <: AnyRef](className: String, loader: ClassLoader, defaultInstances: => List[AnyRef])(using m: ClassTag[T]): Operation[T]
def createInstanceEither[T <: AnyRef](className: String, loader: ClassLoader, defaultInstances: => List[AnyRef])(using 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], loader: ClassLoader, defaultInstances: => List[AnyRef])(using m: ClassTag[T]): Operation[T]
def createInstanceFromName[T <: AnyRef](className: String, defaultInstances: => List[AnyRef])(using 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 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