Package com.tangosol.util.fsm
Class ReflectionHelper
java.lang.Object
com.tangosol.util.fsm.ReflectionHelper
A collection of utilities to assist in using Reflection to create
 objects.
- Since:
 - Coherence 12.2.1
 - Author:
 - Christer Fahlgren, Brian Oliver
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectcreateObject(String sClassName, ClassLoader classLoader) Create an Object via reflection (using the specifiedClassLoader).static ObjectcreateObject(String sClassName, Object[] constructorParameterList, ClassLoader classLoader) Create an Object via reflection (using the specifiedClassLoader).protected static Class<?>[]getClassArrayFromObjectArray(Object[] objectArray) Returns an array of Class objects representing the class of the objects in the parameter.static Constructor<?> getCompatibleConstructor(Class<?> clazz, Class<?>[] parameterTypes) Get a compatible constructor to the supplied parameter types.static MethodgetCompatibleMethod(Class<?> clazz, String methodName, Object... arguments) Obtains theMethodthat is compatible to the supplied parameter types.static Class<?> getConcreteType(Type type) Obtains the concrete (non-parameterized)Classgiven a specified (possibly parameterized) type.static booleanisAssignableFrom(Type x, Type y) Determines if two types are assignment compatible, that is, the type of y can be assigned to type x.static booleanisAssignablePrimitive(Class<?> clzPrimitive, Class<?> clzWrapper) Determines if a primitive type is assignable to a wrapper type.static booleanisCompatibleMethod(Method method, int modifiers, Type returnType, Type... parameterTypes) Determines if the signature of aMethodis compatible with the specified parameters. 
- 
Constructor Details
- 
ReflectionHelper
public ReflectionHelper() 
 - 
 - 
Method Details
- 
getCompatibleConstructor
Get a compatible constructor to the supplied parameter types.- Parameters:
 clazz- the class which we want to constructparameterTypes- the types required of the constructor- Returns:
 - a compatible constructor or null if none exists
 
 - 
isAssignablePrimitive
Determines if a primitive type is assignable to a wrapper type.- Parameters:
 clzPrimitive- a primitive class typeclzWrapper- a wrapper class type- Returns:
 - true if primitive and wrapper are assignment compatible
 
 - 
getCompatibleMethod
Obtains theMethodthat is compatible to the supplied parameter types. - 
createObject
public static Object createObject(String sClassName, ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException Create an Object via reflection (using the specified
ClassLoader).- Parameters:
 sClassName- the name of the class to instantiate.classLoader- theClassLoaderto use to load the class.- Returns:
 - A new instance of the class specified by the className
 - Throws:
 ClassNotFoundException- if the class is not foundNoSuchMethodException- if there is no such constructorInstantiationException- if it failed to instantiateIllegalAccessException- if security doesn't allow the callInvocationTargetException- if the constructor failed
 - 
createObject
public static Object createObject(String sClassName, Object[] constructorParameterList, ClassLoader classLoader) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException Create an Object via reflection (using the specified
ClassLoader).- Parameters:
 sClassName- the name of the class to instantiate.constructorParameterList- the set of parameters to pass to the constructorclassLoader- theClassLoaderto use to load the class.- Returns:
 - A new instance of the class specified by the className
 - Throws:
 ClassNotFoundException- if the class is not foundNoSuchMethodException- if there is no such constructorInstantiationException- if it failed to instantiateIllegalAccessException- if security doesn't allow the callInvocationTargetException- if the constructor failed
 - 
getClassArrayFromObjectArray
Returns an array of Class objects representing the class of the objects in the parameter.- Parameters:
 objectArray- the array of Objects- Returns:
 - an array of Classes representing the class of the Objects
 
 - 
getConcreteType
Obtains the concrete (non-parameterized)Classgiven a specified (possibly parameterized) type.- Parameters:
 type- the type- Returns:
 - the concrete 
Classornullif there is no concrete class. 
 - 
isAssignableFrom
Determines if two types are assignment compatible, that is, the type of y can be assigned to type x.- Parameters:
 x- the first typey- the second type- Returns:
 - if a value of type y is assignable to the type x
 
 - 
isCompatibleMethod
public static boolean isCompatibleMethod(Method method, int modifiers, Type returnType, Type... parameterTypes) Determines if the signature of aMethodis compatible with the specified parameters. 
 -