Package org.zkoss.zk.ui.select.impl
Class Reflections
- java.lang.Object
-
- org.zkoss.zk.ui.select.impl.Reflections
-
public class Reflections extends java.lang.Object
A collection of reflection utilities.- Since:
- 6.0.0
- Author:
- simonpai
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Reflections.FieldRunner<A extends java.lang.annotation.Annotation>
static interface
Reflections.MethodRunner<A extends java.lang.annotation.Annotation>
-
Constructor Summary
Constructors Constructor Description Reflections()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addToCollectionField(java.lang.Object owner, java.lang.reflect.Field field, java.lang.Object item)
Add the item to a collection field of an object.static <A extends java.lang.annotation.Annotation>
voidforFields(java.lang.Class<?> clazz, java.lang.Class<A> annotationClass, Reflections.FieldRunner<A> runner)
Traverse through all fields with a certain annotation in a class and it super classes.static <A extends java.lang.annotation.Annotation>
voidforMethods(java.lang.Class<?> clazz, java.lang.Class<A> annotationClass, Reflections.MethodRunner<A> runner)
Traverse through all methods with a certain annotation in a class, including ones inherited from its super class.static java.lang.Class<?>
getClass(java.lang.reflect.Type type)
Return the Class representing the given Type.static java.lang.Object
getFieldValue(java.lang.Object bean, java.lang.reflect.Field field)
Get field value.static void
invokeMethod(java.lang.reflect.Method method, java.lang.Object bean, java.lang.Object... arguments)
Invoke a method reflexively.static boolean
isAppendableToCollection(java.lang.reflect.Type type, java.lang.Object object)
Return true if field is of Collection type, and an object of type clazz can be added into the Collection.static boolean
isPassableToMethod(java.lang.reflect.Method method, java.lang.Object... arguments)
Return true if the given arguments can be passed as the arguments of the method.static void
setFieldValue(java.lang.Object bean, java.lang.reflect.Field field, java.lang.Object value)
Set a value to a field of the object.
-
-
-
Method Detail
-
forFields
public static <A extends java.lang.annotation.Annotation> void forFields(java.lang.Class<?> clazz, java.lang.Class<A> annotationClass, Reflections.FieldRunner<A> runner)
Traverse through all fields with a certain annotation in a class and it super classes. Subclass first.All the fields with the same name will be scanned too. (since 6.5.1), before 6.5.1 release, only the subclass will be scanned.
-
forMethods
public static <A extends java.lang.annotation.Annotation> void forMethods(java.lang.Class<?> clazz, java.lang.Class<A> annotationClass, Reflections.MethodRunner<A> runner)
Traverse through all methods with a certain annotation in a class, including ones inherited from its super class.
-
isAppendableToCollection
public static boolean isAppendableToCollection(java.lang.reflect.Type type, java.lang.Object object)
Return true if field is of Collection type, and an object of type clazz can be added into the Collection.
-
isPassableToMethod
public static boolean isPassableToMethod(java.lang.reflect.Method method, java.lang.Object... arguments)
Return true if the given arguments can be passed as the arguments of the method.
-
setFieldValue
public static void setFieldValue(java.lang.Object bean, java.lang.reflect.Field field, java.lang.Object value)
Set a value to a field of the object.
-
getFieldValue
public static java.lang.Object getFieldValue(java.lang.Object bean, java.lang.reflect.Field field)
Get field value.
-
addToCollectionField
public static void addToCollectionField(java.lang.Object owner, java.lang.reflect.Field field, java.lang.Object item)
Add the item to a collection field of an object.
-
invokeMethod
public static void invokeMethod(java.lang.reflect.Method method, java.lang.Object bean, java.lang.Object... arguments)
Invoke a method reflexively.
-
getClass
public static java.lang.Class<?> getClass(java.lang.reflect.Type type)
Return the Class representing the given Type.
-
-