com.restfb.util
Class ReflectionUtils

java.lang.Object
  extended by com.restfb.util.ReflectionUtils

public final class ReflectionUtils
extends Object

A collection of reflection-related utility methods.

Since:
1.6
Author:
Mark Allen, Igor Kabiljo, Scott Hernandez

Nested Class Summary
static class ReflectionUtils.FieldWithAnnotation<T extends Annotation>
          A field/annotation pair.
 
Method Summary
static boolean equals(Object object1, Object object2)
          Reflection-based implementation of Object.equals(Object).
static
<T extends Annotation>
List<ReflectionUtils.FieldWithAnnotation<T>>
findFieldsWithAnnotation(Class<?> type, Class<T> annotationType)
          Finds fields on the given type and all of its superclasses annotated with annotations of type annotationType.
static List<Method> getAccessors(Class<?> clazz)
          Gets all accessor methods for the given clazz.
static Class<?> getFirstParameterizedTypeArgument(Field field)
          For a given field, get its first parameterized type argument.
static int hashCode(Object object)
          Reflection-based implementation of Object.hashCode().
static boolean isPrimitive(Object object)
          Is the given object a primitive type or wrapper for a primitive type?
static String toString(Object object)
          Reflection-based implementation of Object.toString().
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isPrimitive

public static boolean isPrimitive(Object object)
Is the given object a primitive type or wrapper for a primitive type?

Parameters:
object - The object to check for primitive-ness.
Returns:
true if object is a primitive type or wrapper for a primitive type, false otherwise.

findFieldsWithAnnotation

public static <T extends Annotation> List<ReflectionUtils.FieldWithAnnotation<T>> findFieldsWithAnnotation(Class<?> type,
                                                                                                           Class<T> annotationType)
Finds fields on the given type and all of its superclasses annotated with annotations of type annotationType.

Type Parameters:
T - The annotation type.
Parameters:
type - The target type token.
annotationType - The annotation type token.
Returns:
A list of field/annotation pairs.

getFirstParameterizedTypeArgument

public static Class<?> getFirstParameterizedTypeArgument(Field field)
For a given field, get its first parameterized type argument.

For example, a field of type List<Long> would have a first type argument of Long.class.

If the field has no type arguments, null is returned.

Parameters:
field - The field to check.
Returns:
The field's first parameterized type argument, or null if none exists.

getAccessors

public static List<Method> getAccessors(Class<?> clazz)
Gets all accessor methods for the given clazz.

Parameters:
clazz - The class for which accessors are extracted.
Returns:
All accessor methods for the given clazz.

toString

public static String toString(Object object)
Reflection-based implementation of Object.toString().

Parameters:
object - The object to convert to a string representation.
Returns:
A string representation of object.
Throws:
IllegalStateException - If an error occurs while performing reflection operations.

hashCode

public static int hashCode(Object object)
Reflection-based implementation of Object.hashCode().

Parameters:
object - The object to hash.
Returns:
A hashcode for object.
Throws:
IllegalStateException - If an error occurs while performing reflection operations.

equals

public static boolean equals(Object object1,
                             Object object2)
Reflection-based implementation of Object.equals(Object).

Parameters:
object1 - One object to compare.
object2 - Another object to compare.
Returns:
true if the objects are equal, false otherwise.
Throws:
IllegalStateException - If an error occurs while performing reflection operations.


RestFB 1.6.8. Copyright © 2010-2011 Mark Allen. All Rights Reserved.