Package com.google.api.client.util
Class ClassInfo
- java.lang.Object
-
- com.google.api.client.util.ClassInfo
-
public final class ClassInfo extends java.lang.ObjectComputes class information to determine data key name/value pairs associated with the class.Implementation is thread-safe.
- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.Class<?>,ClassInfo>CACHEClass information cache, with case-sensitive field names.private static java.util.Map<java.lang.Class<?>,ClassInfo>CACHE_IGNORE_CASEClass information cache, with case-insensitive fields names.private java.lang.Class<?>clazzClass.private booleanignoreCaseWhether field names are case sensitive.(package private) java.util.List<java.lang.String>namesUnmodifiable sorted (with any possiblenullmember first) list (without duplicates) ofFieldInfo.getName().private java.util.IdentityHashMap<java.lang.String,FieldInfo>nameToFieldInfoMapMap fromFieldInfo.getName()to the field information.
-
Constructor Summary
Constructors Modifier Constructor Description privateClassInfo(java.lang.Class<?> srcClass, boolean ignoreCase)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.reflect.FieldgetField(java.lang.String name)Returns the field for the givenFieldInfo.getName().FieldInfogetFieldInfo(java.lang.String name)Returns the information for the givenFieldInfo.getName().java.util.Collection<FieldInfo>getFieldInfos()Returns an unmodifiable collection of theFieldInfos for this class, without any guarantee of order.booleangetIgnoreCase()Returns whether field names are case sensitive.java.util.Collection<java.lang.String>getNames()Returns an unmodifiable sorted set (with any possiblenullmember first) ofnames.java.lang.Class<?>getUnderlyingClass()Returns the underlying class.booleanisEnum()Returns the underlying class is an enum.static ClassInfoof(java.lang.Class<?> underlyingClass)Returns the class information for the given underlying class.static ClassInfoof(java.lang.Class<?> underlyingClass, boolean ignoreCase)Returns the class information for the given underlying class.
-
-
-
Field Detail
-
CACHE
private static final java.util.Map<java.lang.Class<?>,ClassInfo> CACHE
Class information cache, with case-sensitive field names.
-
CACHE_IGNORE_CASE
private static final java.util.Map<java.lang.Class<?>,ClassInfo> CACHE_IGNORE_CASE
Class information cache, with case-insensitive fields names.
-
clazz
private final java.lang.Class<?> clazz
Class.
-
ignoreCase
private final boolean ignoreCase
Whether field names are case sensitive.
-
nameToFieldInfoMap
private final java.util.IdentityHashMap<java.lang.String,FieldInfo> nameToFieldInfoMap
Map fromFieldInfo.getName()to the field information.
-
names
final java.util.List<java.lang.String> names
Unmodifiable sorted (with any possiblenullmember first) list (without duplicates) ofFieldInfo.getName().
-
-
Method Detail
-
of
public static ClassInfo of(java.lang.Class<?> underlyingClass)
Returns the class information for the given underlying class.- Parameters:
underlyingClass- underlying class ornullfornullresult- Returns:
- class information or
nullfornullinput
-
of
public static ClassInfo of(java.lang.Class<?> underlyingClass, boolean ignoreCase)
Returns the class information for the given underlying class.- Parameters:
underlyingClass- underlying class ornullfornullresultignoreCase- whether field names are case sensitive- Returns:
- class information or
nullfornullinput - Since:
- 1.10
-
getUnderlyingClass
public java.lang.Class<?> getUnderlyingClass()
Returns the underlying class.- Since:
- 1.4
-
getIgnoreCase
public final boolean getIgnoreCase()
Returns whether field names are case sensitive.- Since:
- 1.10
-
getFieldInfo
public FieldInfo getFieldInfo(java.lang.String name)
Returns the information for the givenFieldInfo.getName().- Parameters:
name-FieldInfo.getName()ornull- Returns:
- field information or
nullfor none
-
getField
public java.lang.reflect.Field getField(java.lang.String name)
Returns the field for the givenFieldInfo.getName().- Parameters:
name-FieldInfo.getName()ornull- Returns:
- field or
nullfor none
-
isEnum
public boolean isEnum()
Returns the underlying class is an enum.- Since:
- 1.4
-
getNames
public java.util.Collection<java.lang.String> getNames()
Returns an unmodifiable sorted set (with any possiblenullmember first) ofnames.
-
getFieldInfos
public java.util.Collection<FieldInfo> getFieldInfos()
Returns an unmodifiable collection of theFieldInfos for this class, without any guarantee of order.If you need sorted order, instead use
getNames()withgetFieldInfo(String).- Since:
- 1.16
-
-