Package org.robolectric.util.reflector
Class Reflector
java.lang.Object
org.robolectric.util.reflector.Reflector
public class Reflector extends Object
Provides accessor objects for efficiently calling otherwise inaccessible (non-public) methods.
This is orders of magnitude faster than using reflection directly.
For example, to access a private method on some class Foo
, declare an accessor
interface:
class Foo { private String getName() { ... } } @ForType(Foo.class) interface _Foo_ { String getName(); } reflector(_Foo_.class, new Foo()).getName();
-
Constructor Summary
Constructors Constructor Description Reflector()
-
Method Summary
Modifier and Type Method Description static <T> T
reflector(Class<T> iClass)
Returns an object which provides accessors for invoking otherwise inaccessible static methods and fields.static <T> T
reflector(Class<T> iClass, Object target)
Returns an object which provides accessors for invoking otherwise inaccessible methods and fields.
-
Constructor Details
-
Reflector
public Reflector()
-
-
Method Details
-
reflector
Returns an object which provides accessors for invoking otherwise inaccessible static methods and fields.- Parameters:
iClass
- an interface with methods matching private methods on the target
-
reflector
Returns an object which provides accessors for invoking otherwise inaccessible methods and fields.- Parameters:
iClass
- an interface with methods matching private methods on the targettarget
- the target object
-