java.lang.Object
org.refcodes.runtime.ReflectionUtility
The Class ReflectionUtility.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThis class indicates a non existing value in the name-to-value mapping. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Set<Annotation>annotations(Class<?> aClass) Gatherers all annotations annotating a providedClass.static Set<Annotation>annotations(Object aObj) Gatherers all annotations annotating a providedObject.static Set<Annotation>annotations(Field aField) Gatherers all annotations annotating a providedField.static Set<Annotation>annotations(Method aMethod) Gatherers all annotations annotating a providedMethod.static AnnotationfindAnnotation(Class<? extends Annotation> aAnnotation, Class<?> aClass) Seeks for anAnnotationof the given type annotating a providedClass, also reckoning annotations nested inside annotations (recursively).static AnnotationfindAnnotation(Class<? extends Annotation> aAnnotation, Object aObj) Seeks for anAnnotationof the given type annotating a providedObject, also reckoning annotations nested inside annotations (recursively).static AnnotationfindAnnotation(Class<? extends Annotation> aAnnotation, Field aField) Seeks for anAnnotationof the given type annotating a providedField, also reckoning annotations nested inside annotations (recursively).static AnnotationfindAnnotation(Class<? extends Annotation> aAnnotation, Method aMethod) Seeks for anAnnotationof the given type annotating a providedMethod, also reckoning annotations nested inside annotations (recursively).static booleanhasAnnotation(Class<? extends Annotation> aAnnotation, Class<?> aClass) Tests if anAnnotationof the given type annotates a providedClass, also reckoning annotations nested inside annotations (recursively).static booleanhasAnnotation(Class<? extends Annotation> aAnnotation, Object aObj) Tests if anAnnotationof the given type annotates a providedObject, also reckoning annotations nested inside annotations (recursively).static booleanhasAnnotation(Class<? extends Annotation> aAnnotation, Field aField) Tests if anAnnotationof the given type annotates a providedField, also reckoning annotations nested inside annotations (recursively).static booleanhasAnnotation(Class<? extends Annotation> aAnnotation, Method aMethod) Tests if anAnnotationof the given type annotates a providedMethod, also reckoning annotations nested inside annotations (recursively).static booleanhasGetterAttribute(Object anObject, String anAttributeName, Class<?> aReturnType) This method tests whether the given java beans getter attribute is found for the given object.static booleanhasSetterAttribute(Object anObject, String anAttributeName, Class<?> anAttributeType) This method tests whether the given java beans setter attribute is found for the given object.static voidsetAttribute(Object anObject, String anAttributeName, Object anAttributeValue) This method sets a java beans attribute for the given object.static voidsetAttribute(Object anObject, org.refcodes.struct.Attribute anAttributeValueStruct) This method sets a java beans attribute for the given object.static org.refcodes.struct.Attribute[]toBeanAttributes(Object anObject) This method uses reflection on order to analyze a given object.
-
Field Details
-
ALIAS_SET
- See Also:
-
ALIAS_GET
- See Also:
-
ALIAS_HAS
- See Also:
-
ALIAS_IS
- See Also:
-
ALIAS_TOSTRING
- See Also:
-
NON_EXISTING_VALUE
-
-
Method Details
-
annotations
Gatherers all annotations annotating a providedClass. -
annotations
Gatherers all annotations annotating a providedField. -
annotations
Gatherers all annotations annotating a providedMethod. -
annotations
Gatherers all annotations annotating a providedObject. -
findAnnotation
Seeks for anAnnotationof the given type annotating a providedClass, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aClass- theClasswhich's annotations to crawl.- Returns:
- the
Annotationannotating the givenClassor null if none was found
-
findAnnotation
Seeks for anAnnotationof the given type annotating a providedField, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aField- theFieldwhich's annotations to crawl.- Returns:
- the
Annotationannotating the givenFieldor null if none was found
-
findAnnotation
Seeks for anAnnotationof the given type annotating a providedMethod, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aMethod- theMethodwhich's annotations to crawl.- Returns:
- the
Annotationannotating the givenMethodor null if none was found
-
findAnnotation
Seeks for anAnnotationof the given type annotating a providedObject, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aObj- theObjectwhich's annotations to crawl.- Returns:
- the
Annotationannotating the givenObjector null if none was found
-
hasAnnotation
Tests if anAnnotationof the given type annotates a providedClass, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aClass- theClasswhich's annotations to crawl.- Returns:
- True in case the
Annotationannotates the givenClass.
-
hasAnnotation
Tests if anAnnotationof the given type annotates a providedField, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aField- theFieldwhich's annotations to crawl.- Returns:
- True in case the
Annotationannotates the givenField.
-
hasAnnotation
Tests if anAnnotationof the given type annotates a providedMethod, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aMethod- theMethodwhich's annotations to crawl.- Returns:
- True in case the
Annotationannotates the givenMethod.
-
hasAnnotation
Tests if anAnnotationof the given type annotates a providedObject, also reckoning annotations nested inside annotations (recursively).- Parameters:
aAnnotation- theAnnotationtype for which to seek.aObj- theObjectwhich's annotations to crawl.- Returns:
- True in case the
Annotationannotates the givenObject.
-
hasGetterAttribute
public static boolean hasGetterAttribute(Object anObject, String anAttributeName, Class<?> aReturnType) This method tests whether the given java beans getter attribute is found for the given object.- Parameters:
anObject- The object which is to be tested.anAttributeName- The attribute name.aReturnType- The expected (sub-) aClass of the return value- Returns:
- True if the object has a method with the given java beans name which returns the given (super-) aClass.
-
hasSetterAttribute
public static boolean hasSetterAttribute(Object anObject, String anAttributeName, Class<?> anAttributeType) This method tests whether the given java beans setter attribute is found for the given object.- Parameters:
anObject- The object which is to be tested.anAttributeName- The attribute name.anAttributeType- The expected (sub-) aClass of the attribute- Returns:
- True if the object has a method with the given java beans name which can be called with an argument of the given aClass.
-
setAttribute
public static void setAttribute(Object anObject, org.refcodes.struct.Attribute anAttributeValueStruct) throws NoSuchMethodException This method sets a java beans attribute for the given object.- Parameters:
anObject- The object which's attribute is to be set.anAttributeValueStruct- The name-to-value struct for the attrubute to be set.- Throws:
NoSuchMethodException- Description of the Exception
-
setAttribute
public static void setAttribute(Object anObject, String anAttributeName, Object anAttributeValue) throws NoSuchMethodException This method sets a java beans attribute for the given object. The corresponding java beans method must begin with a 'set', the following letter must be in upper case and it must only take one argument being of the same (or super-) aClass as the attribute's aClass.- Parameters:
anObject- The object which's java beans method is to be called.anAttributeName- The attribute name of the java beans method.anAttributeValue- The value of the attribute to be set.- Throws:
NoSuchMethodException- Description of the Exception
-
toBeanAttributes
This method uses reflection on order to analyze a given object. The java beans attributes and their values are retrieved and returned in an array of name-to-value pairs.- Parameters:
anObject- The object to be analyzed.- Returns:
- An array of objects containing the java beans name-to-value pairs.
-