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
TeiidExceptionCopyright © 2020. All rights reserved.