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$6)
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$7)
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$5)
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$8)
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()
DynamicAccessclassLoader in class DynamicAccesspublic <T> scala.util.Try<java.lang.Class<? extends T>> getClassFor(java.lang.String fqcn,
scala.reflect.ClassTag<T> evidence$5)
DynamicAccessClass[_] object loaded with the right class loader (i.e. the one
returned by classLoader).getClassFor in class DynamicAccesspublic <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$6)
DynamicAccessClass[_] 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 DynamicAccesspublic <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$7)
DynamicAccessargs argument. The exact usage of args depends on which type is requested,
see the relevant requesting code for details.createInstanceFor in class DynamicAccesspublic <T> scala.util.Try<T> getObjectFor(java.lang.String fqcn,
scala.reflect.ClassTag<T> evidence$8)
DynamicAccessgetObjectFor in class DynamicAccess