public class Reflection extends Object
| Modifier and Type | Method and Description | 
|---|---|
| static Object | evalAccessPath(String path,
              Object root)Evaluates the given access path (dot separated getters) and returns the result. | 
| static List<Field> | getAllFields(Class<?> clazz)Returns all fields defined by this class or one of its superclasses. | 
| static Method | getter(Class<?> clazz,
      String property)Returns the getter method according to the java beans specification for a
 given property. | 
| static boolean | isSubclassOf(Class<?> superclass,
            Class<?> classInQuestion)Determines if the given superclass is the same or a superclass or superinterface of the given
 classInQuestion. | 
| static Method | setter(Class<?> clazz,
      String property,
      Class<?> fieldType)Returns the setter method according to the java beans specification for a
 given property. | 
| static String | toFirstUpper(String string)Converts the first character of a given string to upper case. | 
| static void | walkHierarchy(Class<?> clazz,
             Callback<Class<?>> handler)Calls the given handler for each superclass of the given one. | 
@Nullable public static String toFirstUpper(@Nullable String string)
Comes in handy when translating properties to getter/setter names.
string - the name of the property to convert@Nonnull public static Method getter(@Nonnull Class<?> clazz, @Nonnull String property)
clazz - the class in which the method should be searchedproperty - the name of the property for which the getter is requestedIllegalArgumentException - if the getter cannot be obtainedpublic static Method setter(Class<?> clazz, String property, Class<?> fieldType)
clazz - the class in which the method should be searchedproperty - the name of the property for which the setter is requestedfieldType - determines the type of the field (which is accepted as parameter of the setter)IllegalArgumentException - if the setter cannot be obtainedpublic static Object evalAccessPath(String path, Object root)
 An access path can look like foo.bar.baz and represents: root.getFoo().getBar().getBaz().
 If any of the getters returns null, null will also be the result of the evaluation.
path - the access path to evaluateroot - the root object on which the first getter is calledpublic static void walkHierarchy(@Nonnull Class<?> clazz, @Nonnull Callback<Class<?>> handler) throws Exception
 Calls the handler for the given class and each of its superclasses until Object is reached.
clazz - the class to start fromhandler - the handler to call for each superclassException - thrown if the handler throws an exception@Nonnull public static List<Field> getAllFields(@Nonnull Class<?> clazz)
clazz - the class to collect the fields forObject)public static boolean isSubclassOf(@Nonnull Class<?> superclass, @Nonnull Class<?> classInQuestion)
 This is essentially a shortcut for superclass.isAssignableFrom(classInQuestion) which seems
 to be more natural.
superclass - the designated superclass or superinterfaceclassInQuestion - the class in questionCopyright © 2018. All rights reserved.