org.codehaus.plexus.util.reflection

Class Reflector

public final class Reflector extends Object

Utility class used to instantiate an object using reflection. This utility hides many of the gory details needed to do this.

Author: John Casey

Constructor Summary
Reflector()
Ensure no instances of Reflector are created...this is a utility.
Method Summary
ConstructorgetConstructor(Class targetClass, Class[] params)
Return the constructor, checking the cache first and storing in cache if not already there..
ObjectgetField(Object target, String fieldName)
ObjectgetField(Object target, String fieldName, boolean breakAccessibility)
MethodgetMethod(Class targetClass, String methodName, Class[] params)
Return the method, checking the cache first and storing in cache if not already there..
ObjectgetObjectProperty(Object target, String propertyName)
ObjectgetSingleton(Class theClass, Object[] initParams)
Retrieve the singleton instance of a class, given the array of parameters...
ObjectgetStaticField(Class targetClass, String fieldName)
Objectinvoke(Object target, String methodName, Object[] params)
Invoke the specified method on the specified target with the specified params...
ObjectinvokeStatic(Class targetClass, String methodName, Object[] params)
Invoke the specified static method with the specified params...
ObjectnewInstance(Class theClass, Object[] params)
Create a new instance of a class, given the array of parameters...

Constructor Detail

Reflector

public Reflector()
Ensure no instances of Reflector are created...this is a utility.

Method Detail

getConstructor

public Constructor getConstructor(Class targetClass, Class[] params)
Return the constructor, checking the cache first and storing in cache if not already there..

Parameters: targetClass The class to get the constructor from params The classes of the parameters which the constructor should match.

Returns: the Constructor object that matches.

Throws: ReflectorException In case we can't retrieve the proper constructor.

getField

public Object getField(Object target, String fieldName)

getField

public Object getField(Object target, String fieldName, boolean breakAccessibility)

getMethod

public Method getMethod(Class targetClass, String methodName, Class[] params)
Return the method, checking the cache first and storing in cache if not already there..

Parameters: targetClass The class to get the method from params The classes of the parameters which the method should match.

Returns: the Method object that matches.

Throws: ReflectorException In case we can't retrieve the proper method.

getObjectProperty

public Object getObjectProperty(Object target, String propertyName)

getSingleton

public Object getSingleton(Class theClass, Object[] initParams)
Retrieve the singleton instance of a class, given the array of parameters... Uses constructor caching to find a constructor that matches the parameter types, either specifically (first choice) or abstractly...

Parameters: theClass The class to retrieve the singleton of initParams The parameters to pass to the constructor

Returns: The singleton object

Throws: ReflectorException In case anything goes wrong here...

getStaticField

public Object getStaticField(Class targetClass, String fieldName)

invoke

public Object invoke(Object target, String methodName, Object[] params)
Invoke the specified method on the specified target with the specified params...

Parameters: target The target of the invocation methodName The method name to invoke params The parameters to pass to the method invocation

Returns: The result of the method call

Throws: ReflectorException In case of an error looking up or invoking the method.

invokeStatic

public Object invokeStatic(Class targetClass, String methodName, Object[] params)
Invoke the specified static method with the specified params...

Parameters: targetClass The target class of the invocation methodName The method name to invoke params The parameters to pass to the method invocation

Returns: The result of the method call

Throws: ReflectorException In case of an error looking up or invoking the method.

newInstance

public Object newInstance(Class theClass, Object[] params)
Create a new instance of a class, given the array of parameters... Uses constructor caching to find a constructor that matches the parameter types, either specifically (first choice) or abstractly...

Parameters: theClass The class to instantiate params The parameters to pass to the constructor

Returns: The instantiated object

Throws: ReflectorException In case anything goes wrong here...

Copyright © 2001-2010 Codehaus. All Rights Reserved.