Package com.google.api.client.util
Class FieldInfo
- java.lang.Object
-
- com.google.api.client.util.FieldInfo
-
public class FieldInfo extends Object
Parses field information to determine data key name/value pair associated with the field.Implementation is thread-safe.
- Since:
- 1.0
- Author:
- Yaniv Inbar
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends Enum<T>>
TenumValue()
ClassInfo
getClassInfo()
Returns the class information of the field's declaring class.Field
getField()
Returns the field.static Object
getFieldValue(Field field, Object obj)
Returns the value of the given field in the given object instance using reflection.Type
getGenericType()
Returns the field's generic type, which is a class, parameterized type, generic array type, or type variable, but not a wildcard type.String
getName()
Class<?>
getType()
Returns the field's type.Object
getValue(Object obj)
Returns the value of the field in the given object instance using reflection.boolean
isFinal()
Returns whether the field is final.boolean
isPrimitive()
Returns whether the field is primitive as defined byData.isPrimitive(Type)
.static FieldInfo
of(Enum<?> enumValue)
Returns the field information for the given enum value.static FieldInfo
of(Field field)
Returns the field information for the given field.static void
setFieldValue(Field field, Object obj, Object value)
Sets to the given value of the given field in the given object instance using reflection.void
setValue(Object obj, Object value)
Sets to the given value of the field in the given object instance using reflection.
-
-
-
Method Detail
-
of
public static FieldInfo of(Enum<?> enumValue)
Returns the field information for the given enum value.- Parameters:
enumValue
- enum value- Returns:
- field information
- Throws:
IllegalArgumentException
- if the enum value has no value annotation- Since:
- 1.4
-
of
public static FieldInfo of(Field field)
Returns the field information for the given field.- Parameters:
field
- field ornull
fornull
result- Returns:
- field information or
null
if the field has noname
or fornull
input
-
getField
public Field getField()
Returns the field.- Since:
- 1.4
-
getName
public String getName()
Returns the data key name associated with the field for a non-enum-constant with aKey
annotation, or data key value associated with the enum constant with aValue
annotation ornull
for an enum constant with aNullValue
annotation.This string is interned.
- Since:
- 1.4
-
getType
public Class<?> getType()
Returns the field's type.- Since:
- 1.4
-
getGenericType
public Type getGenericType()
Returns the field's generic type, which is a class, parameterized type, generic array type, or type variable, but not a wildcard type.- Since:
- 1.4
-
isFinal
public boolean isFinal()
Returns whether the field is final.- Since:
- 1.4
-
isPrimitive
public boolean isPrimitive()
Returns whether the field is primitive as defined byData.isPrimitive(Type)
.- Since:
- 1.4
-
getValue
public Object getValue(Object obj)
Returns the value of the field in the given object instance using reflection.
-
setValue
public void setValue(Object obj, Object value)
Sets to the given value of the field in the given object instance using reflection.If the field is final, it checks that value being set is identical to the existing value.
-
getClassInfo
public ClassInfo getClassInfo()
Returns the class information of the field's declaring class.
-
enumValue
public <T extends Enum<T>> T enumValue()
-
getFieldValue
public static Object getFieldValue(Field field, Object obj)
Returns the value of the given field in the given object instance using reflection.
-
-