public final class ReflectionRecipes extends Object
| Modifier and Type | Method and Description |
|---|---|
static Class<?>[] |
classesFromParameters(Parameter[] parameters)
Extracts class instances from parameters.
|
static boolean |
exactMatch(Class<?>[] classes,
Object[] args)
Matches an array of class instances to an array of instances.
|
static boolean |
exactMatch(Parameter[] parameters,
Object[] args)
Matches an array of parameters to an array of instances.
|
static Parameter[] |
filter(Parameter[] parameters,
Set<InjectableParameter> filters)
Omits 1.
|
static Parameter[] |
getConstructorParameters(Constructor constructor)
Extracts constructor parameters.
|
static Parameter[] |
getMethodParameters(Method method)
Extracts method parameters.
|
static Object[] |
inject(Parameter[] parameters,
Set<InjectableParameter> filters,
Object[] args,
Constructor constructor,
ITestContext context,
ITestResult testResult)
Injects appropriate arguments.
|
static Object[] |
inject(Parameter[] parameters,
Set<InjectableParameter> filters,
Object[] args,
Method injectionMethod,
ITestContext context,
ITestResult testResult)
Injects appropriate arguments.
|
static boolean |
isInstanceOf(Class reference,
Object object)
Checks if an instance is an instance of the given class.
|
static boolean |
isOrExtends(Class<?> reference,
Class<?> clazz)
Checks a class instance for being a given class or its sub-class.
|
static boolean |
isOrImplementsInterface(Class<?> reference,
Class<?> clazz)
Checks a class instance for being a given interface or its implementation.
|
static boolean |
lenientMatch(Class<?>[] classes,
Object[] args)
Matches an array of class instances to an array of instances.
|
static boolean |
lenientMatch(Parameter[] parameters,
Object[] args)
Matches an array of parameters to an array of instances.
|
static boolean |
matchArrayEnding(Class<?>[] classes,
Object[] args)
Matches an array of class instances to an array of instances having last class instance an array.
|
static boolean |
matchArrayEnding(Parameter[] parameters,
Object[] param) |
public static boolean isInstanceOf(Class reference, Object object)
reference - reference class.object - instance to be tested.public static boolean isOrImplementsInterface(Class<?> reference, Class<?> clazz)
reference - reference interface instance.clazz - class instance to be tested.public static boolean isOrExtends(Class<?> reference, Class<?> clazz)
reference - reference class instance.clazz - class instance to be tested.public static Class<?>[] classesFromParameters(Parameter[] parameters)
parameters - an array of parameters.public static Parameter[] getMethodParameters(Method method)
method - any valid method.public static Parameter[] getConstructorParameters(Constructor constructor)
constructor - any valid constructor.public static boolean matchArrayEnding(Parameter[] parameters, Object[] param)
matchArrayEnding(Class[], Object[])public static boolean matchArrayEnding(Class<?>[] classes, Object[] args)
Assuming upper case letters denote classes and corresponding lowercase its instances. Classes {A,B,C...}, instances {a,b,c1,c2} ==> check for {a,b,{c1,c2}} match or Classes {A,B,C[]}, instances {a,b,c1,c2} ==> check for {a,b,{c1,c2}} match both of the above cases are equivalent.
classes - array of class instances to check against.args - instances to be verified.public static boolean exactMatch(Parameter[] parameters, Object[] args)
exactMatch(Class[], Object[])public static boolean exactMatch(Class<?>[] classes, Object[] args)
classes - array of class instances to check against.args - instances to be verified.public static boolean lenientMatch(Parameter[] parameters, Object[] args)
lenientMatch(Class[], Object[])public static boolean lenientMatch(Class<?>[] classes, Object[] args)
classes - array of class instances to check against.args - instances to be verified.public static Parameter[] filter(Parameter[] parameters, Set<InjectableParameter> filters)
An example would be Input: {ITestContext.class, int.class, Boolean.class, TestContext.class} Output: {int.class, Boolean.class}
parameters - array of parameter instances under question.filters - filters to use.public static Object[] inject(Parameter[] parameters, Set<InjectableParameter> filters, Object[] args, Method injectionMethod, ITestContext context, ITestResult testResult)
parameters - array of parameter instances under question.filters - filters to use.args - user supplied arguments.injectionMethod - current test method.context - current test context.testResult - on going test results.public static Object[] inject(Parameter[] parameters, Set<InjectableParameter> filters, Object[] args, Constructor constructor, ITestContext context, ITestResult testResult)
parameters - array of parameter instances under question.filters - filters to use.args - user supplied arguments.constructor - current test method.context - current test context.testResult - on going test results.Copyright © 2024. All rights reserved.