public class ReflectionHelper extends Object
Constructor and Description |
---|
ReflectionHelper(Class<?> targetClass)
Construct a ReflectionHelper instance that cache's some information about
the target class.
|
Modifier and Type | Method and Description |
---|---|
static Object |
create(String className,
Collection<?> ctorObjs,
ClassLoader classLoader)
Helper method to create an instance of the class using the appropriate
constructor based on the ctorObjs passed.
|
static Object |
create(String className,
Object[] ctorObjs,
Class<?>[] argTypes,
ClassLoader classLoader) |
Method |
findBestMethodOnTarget(String methodName,
Object[] arguments)
Find the best method on the target class that matches the signature specified
with the specified name and the list of arguments.
|
Method |
findBestMethodWithSignature(String methodName,
List<Class<?>> argumentsClasses)
Find the best method on the target class that matches the signature specified
with the specified name and the list of argument classes.
|
Method |
findBestMethodWithSignature(String methodName,
Object[] argumentsClasses)
Find the best method on the target class that matches the signature specified
with the specified name and the list of argument classes.
|
public ReflectionHelper(Class<?> targetClass)
targetClass
- the target classIllegalArgumentException
- if the target class is nullpublic Method findBestMethodOnTarget(String methodName, Object[] arguments) throws NoSuchMethodException, SecurityException
This method is unable to find methods with signatures that include both
primitive arguments and arguments that are instances of Number
or its subclasses.
methodName
- the name of the method that is to be invoked.arguments
- the array of Object instances that correspond
to the arguments passed to the method.NoSuchMethodException
- if a matching method is not found.SecurityException
- if access to the information is denied.public Method findBestMethodWithSignature(String methodName, Object[] argumentsClasses) throws NoSuchMethodException, SecurityException
methodName
- the name of the method that is to be invoked.argumentsClasses
- the list of Class instances that correspond
to the classes for each argument passed to the method.NoSuchMethodException
- if a matching method is not found.SecurityException
- if access to the information is denied.public Method findBestMethodWithSignature(String methodName, List<Class<?>> argumentsClasses) throws NoSuchMethodException, SecurityException
methodName
- the name of the method that is to be invoked.argumentsClasses
- the list of Class instances that correspond
to the classes for each argument passed to the method.NoSuchMethodException
- if a matching method is not found.SecurityException
- if access to the information is denied.public static final Object create(String className, Collection<?> ctorObjs, ClassLoader classLoader) throws TeiidException
className
- is the class to instantiatectorObjs
- are the objects to pass to the constructor; optional, nullableclassLoader
- the class loader to use; may be null if the current
class loader is to be usedTeiidException
- if an error occurs instantiating the classpublic static final Object create(String className, Object[] ctorObjs, Class<?>[] argTypes, ClassLoader classLoader) throws TeiidException
TeiidException
Copyright © 2020. All rights reserved.