de.intarsys.tools.reflect
public class ObjectTools extends java.lang.Object
This tool contains some simple reflection implementations.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
GET_PREFIX |
static java.lang.String |
IS_PREFIX |
Constructor and Description |
---|
ObjectTools() |
Modifier and Type | Method and Description |
---|---|
protected static java.lang.Object |
basicGet(java.lang.Object object,
java.lang.String name) |
protected static java.lang.Object |
basicInsert(java.lang.Object object,
java.lang.String name,
java.lang.Object value) |
protected static java.lang.Object |
basicInvoke(java.lang.Object object,
java.lang.String name,
java.lang.Object... values) |
protected static java.lang.Object |
basicRemove(java.lang.Object object,
java.lang.String name,
java.lang.Object value) |
protected static java.lang.Object |
basicSet(java.lang.Object object,
java.lang.String name,
java.lang.Object value) |
protected static boolean |
checkCandidate(java.lang.reflect.Method method,
java.lang.String methodName,
java.lang.Class[] pClasses) |
protected static boolean |
checkCandidateClass(java.lang.Class mClass,
java.lang.Class pClass) |
protected static boolean |
checkCandidateClasses(java.lang.Class[] mClasses,
java.lang.Class[] pClasses) |
static <T> T |
createObject(java.lang.Class clazz,
java.lang.Class<T> expectedClass)
Create a new instance of Class "class"
|
static <T> T |
createObject(java.lang.Class clazz,
java.lang.Class<T> expectedClass,
java.lang.Class[] parameterTypes,
java.lang.Object[] parameters)
Create a new instance of Class "class"
|
static <T> T |
createObject(java.lang.String className,
java.lang.Class<T> expectedClass,
java.lang.ClassLoader classLoader)
Create a new instance of Class "className" via "classLoader".
|
protected static java.lang.reflect.Method |
findAnyMethod(java.lang.Class clazz,
java.lang.String name,
java.lang.Class... classes) |
static java.lang.reflect.Method |
findGetter(java.lang.Object object,
java.lang.String name) |
static java.lang.reflect.Method |
findInserter(java.lang.Object object,
java.lang.String attribute,
java.lang.Object value) |
protected static java.lang.reflect.Method |
findMatchingMethod(java.lang.Class clazz,
java.lang.String name,
java.lang.Class[] classes) |
static java.lang.reflect.Method |
findMethod(java.lang.Object object,
java.lang.String methodName,
java.lang.Object... parameters) |
static java.lang.reflect.Method |
findRemover(java.lang.Object object,
java.lang.String attribute,
java.lang.Object value) |
static java.lang.reflect.Method |
findSetter(java.lang.Object object,
java.lang.String attribute,
java.lang.Object value) |
protected static java.lang.reflect.Method |
findSimpleMethod(java.lang.Class clazz,
java.lang.String name,
java.lang.Class... classes) |
static java.lang.Object |
get(java.lang.Object object,
java.lang.String name)
Get the value for field
name in object . |
static java.lang.Object |
insert(java.lang.Object object,
java.lang.String name,
java.lang.Object value)
Insert
value in the relation field name in
object . |
static java.lang.Object |
invoke(java.lang.Object object,
java.lang.String name,
java.lang.Object... values)
Invoke method
name in object . |
static java.lang.Object |
remove(java.lang.Object object,
java.lang.String name,
java.lang.Object value)
Remove
value in the relation field name in
object . |
static java.lang.Object |
set(java.lang.Object object,
java.lang.String name,
java.lang.Object value)
Set field
name in object to value . |
public static final java.lang.String GET_PREFIX
public static final java.lang.String IS_PREFIX
protected static java.lang.Object basicGet(java.lang.Object object, java.lang.String name) throws FieldException
FieldException
protected static java.lang.Object basicInsert(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
FieldException
protected static java.lang.Object basicInvoke(java.lang.Object object, java.lang.String name, java.lang.Object... values) throws MethodException
MethodException
protected static java.lang.Object basicRemove(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
FieldException
protected static java.lang.Object basicSet(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
FieldException
protected static boolean checkCandidate(java.lang.reflect.Method method, java.lang.String methodName, java.lang.Class[] pClasses)
protected static boolean checkCandidateClass(java.lang.Class mClass, java.lang.Class pClass)
protected static boolean checkCandidateClasses(java.lang.Class[] mClasses, java.lang.Class[] pClasses)
public static <T> T createObject(java.lang.Class clazz, java.lang.Class<T> expectedClass) throws ObjectCreationException
clazz
- expectedClass
- ObjectCreationException
public static <T> T createObject(java.lang.Class clazz, java.lang.Class<T> expectedClass, java.lang.Class[] parameterTypes, java.lang.Object[] parameters) throws ObjectCreationException
className
- expectedClass
- parameterTypes
- parameters
- ObjectCreationException
public static <T> T createObject(java.lang.String className, java.lang.Class<T> expectedClass, java.lang.ClassLoader classLoader) throws ObjectCreationException
className
- expectedClass
- classLoader
- ObjectCreationException
protected static java.lang.reflect.Method findAnyMethod(java.lang.Class clazz, java.lang.String name, java.lang.Class... classes) throws MethodException
MethodException
public static java.lang.reflect.Method findGetter(java.lang.Object object, java.lang.String name) throws MethodException
MethodException
public static java.lang.reflect.Method findInserter(java.lang.Object object, java.lang.String attribute, java.lang.Object value) throws MethodException
MethodException
protected static java.lang.reflect.Method findMatchingMethod(java.lang.Class clazz, java.lang.String name, java.lang.Class[] classes) throws MethodException
MethodException
public static java.lang.reflect.Method findMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object... parameters) throws MethodException
MethodException
public static java.lang.reflect.Method findRemover(java.lang.Object object, java.lang.String attribute, java.lang.Object value) throws MethodException
MethodException
public static java.lang.reflect.Method findSetter(java.lang.Object object, java.lang.String attribute, java.lang.Object value) throws MethodException
MethodException
protected static java.lang.reflect.Method findSimpleMethod(java.lang.Class clazz, java.lang.String name, java.lang.Class... classes) throws MethodException
MethodException
public static java.lang.Object get(java.lang.Object object, java.lang.String name) throws FieldException
name
in object
.object
- name
- name
in object
.java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchFieldException
FieldException
public static java.lang.Object insert(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
value
in the relation field name
in
object
. The value that was really inserted is returned (if
supported by the underlying object implementation). To be exact, the
result of the insert method invoked is returned.object
- name
- value
- java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchFieldException
FieldException
public static java.lang.Object invoke(java.lang.Object object, java.lang.String name, java.lang.Object... values) throws MethodException
name
in object
. The result of the
invocation is returned.object
- name
- values
- MethodException
public static java.lang.Object remove(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
value
in the relation field name
in
object
. The value that was removed is returned (if supported
by the underlying object implementation). To be exact, the result of the
remove method invoked is returned.object
- name
- value
- java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchFieldException
FieldException
public static java.lang.Object set(java.lang.Object object, java.lang.String name, java.lang.Object value) throws FieldException
name
in object
to value
.
The old value is returned (if supported by the underlying object
implementation). To be exact, the result of the setter method invoked is
returned.object
- name
- value
- java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchFieldException
FieldException