Package akka.util
Class Reflect
- java.lang.Object
-
- akka.util.Reflect
-
public class Reflect extends java.lang.Object
This optionally holds a function which looks N levels above itself on the call stack and returns theClass[_]
object for the code executing in that stack frame. Implemented usingsun.reflect.Reflection.getCallerClass
if available, None otherwise.Hint: when comparing to Thread.currentThread.getStackTrace, add two levels.
-
-
Constructor Summary
Constructors Constructor Description Reflect()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.ClassLoader
findClassLoader()
INTERNAL APIstatic <T> java.lang.reflect.Constructor<T>
findConstructor(java.lang.Class<T> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Implements a primitive form of overload resolution a.k.a.static java.lang.reflect.Type
findMarker(java.lang.Class<?> root, java.lang.Class<?> marker)
static scala.Option<scala.Function1<java.lang.Object,java.lang.Class<?>>>
getCallerClass()
static <T> T
instantiate(java.lang.Class<T> clazz)
INTERNAL APIstatic <T> T
instantiate(java.lang.Class<T> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Calls findConstructor and invokes it with the given arguments.static <T> T
instantiate(java.lang.reflect.Constructor<T> constructor, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Invokes the constructor with the given arguments.static <T> scala.Function0<T>
instantiator(java.lang.Class<T> clazz)
INTERNAL APIprotected static boolean
lookupAndSetField(java.lang.Class<?> clazz, java.lang.Object instance, java.lang.String name, java.lang.Object value)
INTERNAL API Set a val inside a class.
-
-
-
Method Detail
-
getCallerClass
public static scala.Option<scala.Function1<java.lang.Object,java.lang.Class<?>>> getCallerClass()
-
instantiate
public static <T> T instantiate(java.lang.Class<T> clazz)
INTERNAL API- Parameters:
clazz
- the class which to instantiate an instance of- Returns:
- a new instance from the default constructor of the given class
-
instantiate
public static <T> T instantiate(java.lang.Class<T> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Calls findConstructor and invokes it with the given arguments.- Parameters:
clazz
- (undocumented)args
- (undocumented)- Returns:
- (undocumented)
-
instantiate
public static <T> T instantiate(java.lang.reflect.Constructor<T> constructor, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Invokes the constructor with the given arguments.- Parameters:
constructor
- (undocumented)args
- (undocumented)- Returns:
- (undocumented)
-
findConstructor
public static <T> java.lang.reflect.Constructor<T> findConstructor(java.lang.Class<T> clazz, scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Implements a primitive form of overload resolution a.k.a. finding the right constructor.- Parameters:
clazz
- (undocumented)args
- (undocumented)- Returns:
- (undocumented)
-
instantiator
public static <T> scala.Function0<T> instantiator(java.lang.Class<T> clazz)
INTERNAL API- Parameters:
clazz
- the class which to instantiate an instance of- Returns:
- a function which when applied will create a new instance from the default constructor of the given class
-
findMarker
public static java.lang.reflect.Type findMarker(java.lang.Class<?> root, java.lang.Class<?> marker)
-
lookupAndSetField
protected static final boolean lookupAndSetField(java.lang.Class<?> clazz, java.lang.Object instance, java.lang.String name, java.lang.Object value)
INTERNAL API Set a val inside a class.- Parameters:
clazz
- (undocumented)instance
- (undocumented)name
- (undocumented)value
- (undocumented)- Returns:
- (undocumented)
-
findClassLoader
public static java.lang.ClassLoader findClassLoader()
INTERNAL API- Returns:
- (undocumented)
-
-