Package org.easymock.internal
Class ReflectionUtils
java.lang.Object
org.easymock.internal.ReflectionUtils
- Author:
- Henri Tremblay
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Method
findMethod
(Class<?> clazz, String name, ReflectionUtils.Predicate<Method> filter) Attempt to find aMethod
on the supplied class with the supplied name and no parameters.static Method
findMethod
(Class<?> clazz, String name, ReflectionUtils.Predicate<Method> filter, Class<?>... paramTypes) Attempt to find aMethod
on the supplied class with the supplied name and parameter types.static <T> Constructor
<T> getConstructor
(Class<T> clazz, Object... objs) Returns a constructor that containsobjs
as arguments.static Method
getDeclaredMethod
(Class<?> clazz, String name, Class<?>... paramTypes) Basically calls getDeclaredMethod on a Class but wraps the NoSuchMethodException into a Runtime.static boolean
isClassAvailable
(String className) Tells if a class is available in the classpathstatic boolean
isDefaultMethod
(Method method)
-
Field Details
-
NOT_PRIVATE
-
OBJECT_EQUALS
-
OBJECT_HASHCODE
-
OBJECT_TOSTRING
-
OBJECT_FINALIZE
-
-
Method Details
-
findMethod
public static Method findMethod(Class<?> clazz, String name, ReflectionUtils.Predicate<Method> filter) Attempt to find aMethod
on the supplied class with the supplied name and no parameters. Searches all superclasses up toObject
. The filter is used to ignore some kind of methods the caller doesn't want to see returned. In this case they are totally ignored and can't clash with a non-ignored one to cause ambiguity.Returns
null
if noMethod
can be found.- Parameters:
clazz
- the class to introspectname
- the name of the methodfilter
- tells what methods to ignore in the research- Returns:
- the Method object, or
null
if none found
-
findMethod
public static Method findMethod(Class<?> clazz, String name, ReflectionUtils.Predicate<Method> filter, Class<?>... paramTypes) Attempt to find aMethod
on the supplied class with the supplied name and parameter types. Searches all superclasses up toObject
. The filter is used to ignore some kind of methods the caller doesn't want to see returned. In this case they are totally ignored and can't clash with a non-ignored one to cause ambiguity.Returns
null
if noMethod
can be found.- Parameters:
clazz
- the class to introspectname
- the name of the methodfilter
- tells what methods to ignore in the researchparamTypes
- the parameter types of the method (may benull
to indicate any signature)- Returns:
- the Method object, or
null
if none found
-
getConstructor
public static <T> Constructor<T> getConstructor(Class<T> clazz, Object... objs) throws NoSuchMethodException Returns a constructor that containsobjs
as arguments.We could not do something like
clazz.getConstructor(objs.class())
because that would require casting all the passed arguments to the exact parameter types of the desired constructor.- Type Parameters:
T
- type of the class searched- Parameters:
clazz
- class on which we are searching the constructorobjs
- list of arguments of the constructor- Returns:
- a constructor with the arguments in
objs
- Throws:
NoSuchMethodException
- when the constructor withargs
does not exist or is ambiguous
-
getDeclaredMethod
Basically calls getDeclaredMethod on a Class but wraps the NoSuchMethodException into a Runtime.- Parameters:
clazz
- class on which the getDeclaredMethod is calledname
- method nameparamTypes
- method parameters- Returns:
- the method searched
-
isClassAvailable
Tells if a class is available in the classpath- Parameters:
className
- full class name- Returns:
- true if the class was found
-
isDefaultMethod
-