Class Reflector
- java.lang.Object
-
- org.codehaus.plexus.util.reflection.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
Constructors Constructor Description Reflector()
Ensure no instances of Reflector are created...this is a utility.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Constructor<T>
getConstructor(Class<T> targetClass, Class[] params)
Return the constructor, checking the cache first and storing in cache if not already there..Object
getField(Object target, String fieldName)
Object
getField(Object target, String fieldName, boolean breakAccessibility)
Method
getMethod(Class targetClass, String methodName, Class[] params)
Return the method, checking the cache first and storing in cache if not already there..Object
getObjectProperty(Object target, String propertyName)
<T> T
getSingleton(Class<T> theClass, Object[] initParams)
Retrieve the singleton instance of a class, given the array of parameters...Object
getStaticField(Class targetClass, String fieldName)
Object
invoke(Object target, String methodName, Object[] params)
Invoke the specified method on the specified target with the specified params...Object
invokeStatic(Class targetClass, String methodName, Object[] params)
Invoke the specified static method with the specified params...<T> T
newInstance(Class<T> theClass, Object[] params)
Create a new instance of a class, given the array of parameters...
-
-
-
Method Detail
-
newInstance
public <T> T newInstance(Class<T> theClass, Object[] params) throws ReflectorException
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...- Type Parameters:
T
- the type- Parameters:
theClass
- The class to instantiateparams
- The parameters to pass to the constructor- Returns:
- The instantiated object
- Throws:
ReflectorException
- In case anything goes wrong here...
-
getSingleton
public <T> T getSingleton(Class<T> theClass, Object[] initParams) throws ReflectorException
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...- Type Parameters:
T
- the type- Parameters:
theClass
- The class to retrieve the singleton ofinitParams
- The parameters to pass to the constructor- Returns:
- The singleton object
- Throws:
ReflectorException
- In case anything goes wrong here...
-
invoke
public Object invoke(Object target, String methodName, Object[] params) throws ReflectorException
Invoke the specified method on the specified target with the specified params...- Parameters:
target
- The target of the invocationmethodName
- The method name to invokeparams
- 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.
-
getStaticField
public Object getStaticField(Class targetClass, String fieldName) throws ReflectorException
- Throws:
ReflectorException
-
getField
public Object getField(Object target, String fieldName) throws ReflectorException
- Throws:
ReflectorException
-
getField
public Object getField(Object target, String fieldName, boolean breakAccessibility) throws ReflectorException
- Throws:
ReflectorException
-
invokeStatic
public Object invokeStatic(Class targetClass, String methodName, Object[] params) throws ReflectorException
Invoke the specified static method with the specified params...- Parameters:
targetClass
- The target class of the invocationmethodName
- The method name to invokeparams
- 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.
-
getConstructor
public <T> Constructor<T> getConstructor(Class<T> targetClass, Class[] params) throws ReflectorException
Return the constructor, checking the cache first and storing in cache if not already there..- Type Parameters:
T
- the type- Parameters:
targetClass
- The class to get the constructor fromparams
- 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.
-
getObjectProperty
public Object getObjectProperty(Object target, String propertyName) throws ReflectorException
- Throws:
ReflectorException
-
getMethod
public Method getMethod(Class targetClass, String methodName, Class[] params) throws ReflectorException
Return the method, checking the cache first and storing in cache if not already there..- Parameters:
targetClass
- The class to get the method fromparams
- The classes of the parameters which the method should match.methodName
- the method name- Returns:
- the Method object that matches.
- Throws:
ReflectorException
- In case we can't retrieve the proper method.
-
-