akka.util
Class Reflect$

java.lang.Object
  extended by akka.util.Reflect$

public class Reflect$
extends java.lang.Object

Collection of internal reflection utilities which may or may not be available (most services specific to HotSpot, but fails gracefully).

INTERNAL API


Field Summary
static Reflect$ MODULE$
          Static reference to the singleton instance of this Scala object.
 
Constructor Summary
Reflect$()
           
 
Method Summary
<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.
 java.lang.reflect.Type findMarker(java.lang.Class<?> root, java.lang.Class<?> marker)
           
 scala.Option<scala.Function1<java.lang.Object,java.lang.Class<?>>> getCallerClass()
          This optionally holds a function which looks N levels above itself on the call stack and returns the Class[_] object for the code executing in that stack frame.
<T> T
instantiate(java.lang.Class<T> clazz)
          INTERNAL API
<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.
<T> T
instantiate(java.lang.reflect.Constructor<T> constructor, scala.collection.immutable.Seq<java.lang.Object> args)
          INTERNAL API Invokes the constructor with the the given arguments.
<T> scala.Function0<T>
instantiator(java.lang.Class<T> clazz)
          INTERNAL API
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODULE$

public static final Reflect$ MODULE$
Static reference to the singleton instance of this Scala object.

Constructor Detail

Reflect$

public Reflect$()
Method Detail

getCallerClass

public scala.Option<scala.Function1<java.lang.Object,java.lang.Class<?>>> getCallerClass()
This optionally holds a function which looks N levels above itself on the call stack and returns the Class[_] object for the code executing in that stack frame. Implemented using sun.reflect.Reflection.getCallerClass if available, None otherwise.

Hint: when comparing to Thread.currentThread.getStackTrace, add two levels.

Returns:
(undocumented)

instantiate

public <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 <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 <T> T instantiate(java.lang.reflect.Constructor<T> constructor,
                         scala.collection.immutable.Seq<java.lang.Object> args)
INTERNAL API Invokes the constructor with the the given arguments.

Parameters:
constructor - (undocumented)
args - (undocumented)
Returns:
(undocumented)

findConstructor

public <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 <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 java.lang.reflect.Type findMarker(java.lang.Class<?> root,
                                         java.lang.Class<?> marker)