public class ReflectiveDynamicAccess extends DynamicAccess
DynamicAccess
implementation used by ExtendedActorSystem
unless overridden. It uses reflection to turn fully-qualified class names into Class[_]
objects
and creates instances from there using getDeclaredConstructor()
and invoking that. The class loader
to be used for all this is determined by the actor system’s class loader by default.Constructor and Description |
---|
ReflectiveDynamicAccess(java.lang.ClassLoader classLoader) |
Modifier and Type | Method and Description |
---|---|
java.lang.ClassLoader |
classLoader()
This is the class loader to be used in those special cases where the
other factory method are not applicable (e.g.
|
<T> scala.util.Try<T> |
createInstanceFor(java.lang.Class<?> clazz,
scala.collection.immutable.Seq<scala.Tuple2<java.lang.Class<?>,java.lang.Object>> args,
scala.reflect.ClassTag<T> evidence$2)
Convenience method which given a
Class[_] object and a constructor description
will create a new instance of that class. |
<T> scala.util.Try<T> |
createInstanceFor(java.lang.String fqcn,
scala.collection.immutable.Seq<scala.Tuple2<java.lang.Class<?>,java.lang.Object>> args,
scala.reflect.ClassTag<T> evidence$3)
Obtain an object conforming to the type T, which is expected to be
instantiated from a class designated by the fully-qualified class name
given, where the constructor is selected and invoked according to the
args argument. |
<T> scala.util.Try<java.lang.Class<? extends T>> |
getClassFor(java.lang.String fqcn,
scala.reflect.ClassTag<T> evidence$1)
Obtain a
Class[_] object loaded with the right class loader (i.e. |
<T> scala.util.Try<T> |
getObjectFor(java.lang.String fqcn,
scala.reflect.ClassTag<T> evidence$4)
Obtain the Scala “object” instance for the given fully-qualified class name, if there is one.
|
public ReflectiveDynamicAccess(java.lang.ClassLoader classLoader)
public java.lang.ClassLoader classLoader()
DynamicAccess
classLoader
in class DynamicAccess
public <T> scala.util.Try<java.lang.Class<? extends T>> getClassFor(java.lang.String fqcn, scala.reflect.ClassTag<T> evidence$1)
DynamicAccess
Class[_]
object loaded with the right class loader (i.e. the one
returned by classLoader
).getClassFor
in class DynamicAccess
fqcn
- (undocumented)evidence$1
- (undocumented)public <T> scala.util.Try<T> createInstanceFor(java.lang.Class<?> clazz, scala.collection.immutable.Seq<scala.Tuple2<java.lang.Class<?>,java.lang.Object>> args, scala.reflect.ClassTag<T> evidence$2)
DynamicAccess
Class[_]
object and a constructor description
will create a new instance of that class.
val obj = DynamicAccess.createInstanceFor(clazz, Seq(classOf[Config] -> config, classOf[String] -> name))
createInstanceFor
in class DynamicAccess
clazz
- (undocumented)args
- (undocumented)evidence$2
- (undocumented)public <T> scala.util.Try<T> createInstanceFor(java.lang.String fqcn, scala.collection.immutable.Seq<scala.Tuple2<java.lang.Class<?>,java.lang.Object>> args, scala.reflect.ClassTag<T> evidence$3)
DynamicAccess
args
argument. The exact usage of args depends on which type is requested,
see the relevant requesting code for details.createInstanceFor
in class DynamicAccess
fqcn
- (undocumented)args
- (undocumented)evidence$3
- (undocumented)public <T> scala.util.Try<T> getObjectFor(java.lang.String fqcn, scala.reflect.ClassTag<T> evidence$4)
DynamicAccess
getObjectFor
in class DynamicAccess
fqcn
- (undocumented)evidence$4
- (undocumented)