- java.lang.Object
-
- com.google.gson.internal.Excluder
-
- All Implemented Interfaces:
TypeAdapterFactory,java.lang.Cloneable
public final class Excluder extends java.lang.Object implements TypeAdapterFactory, java.lang.Cloneable
This class selects which fields and types to omit. It is configurable, supporting version attributesSinceandUntil, modifiers, synthetic fields, anonymous and local classes, inner classes, and fields with theExposeannotation.This class is a type adapter factory; types that are excluded will be adapted to null. It may delegate to another type adapter if only one direction is excluded.
-
-
Field Summary
Fields Modifier and Type Field Description static ExcluderDEFAULTprivate java.util.List<ExclusionStrategy>deserializationStrategiesprivate static doubleIGNORE_VERSIONSprivate intmodifiersprivate booleanrequireExposeprivate java.util.List<ExclusionStrategy>serializationStrategiesprivate booleanserializeInnerClassesprivate doubleversion
-
Constructor Summary
Constructors Constructor Description Excluder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Excluderclone()<T> TypeAdapter<T>create(Gson gson, TypeToken<T> type)Returns a type adapter fortype, or null if this factory doesn't supporttype.ExcluderdisableInnerClassSerialization()booleanexcludeClass(java.lang.Class<?> clazz, boolean serialize)private booleanexcludeClassChecks(java.lang.Class<?> clazz)private booleanexcludeClassInStrategy(java.lang.Class<?> clazz, boolean serialize)booleanexcludeField(java.lang.reflect.Field field, boolean serialize)ExcluderexcludeFieldsWithoutExposeAnnotation()private booleanisAnonymousOrLocal(java.lang.Class<?> clazz)private booleanisInnerClass(java.lang.Class<?> clazz)private booleanisStatic(java.lang.Class<?> clazz)private booleanisValidSince(Since annotation)private booleanisValidUntil(Until annotation)private booleanisValidVersion(Since since, Until until)ExcluderwithExclusionStrategy(ExclusionStrategy exclusionStrategy, boolean serialization, boolean deserialization)ExcluderwithModifiers(int... modifiers)ExcluderwithVersion(double ignoreVersionsAfter)
-
-
-
Field Detail
-
IGNORE_VERSIONS
private static final double IGNORE_VERSIONS
- See Also:
- Constant Field Values
-
DEFAULT
public static final Excluder DEFAULT
-
version
private double version
-
modifiers
private int modifiers
-
serializeInnerClasses
private boolean serializeInnerClasses
-
requireExpose
private boolean requireExpose
-
serializationStrategies
private java.util.List<ExclusionStrategy> serializationStrategies
-
deserializationStrategies
private java.util.List<ExclusionStrategy> deserializationStrategies
-
-
Method Detail
-
clone
protected Excluder clone()
- Overrides:
clonein classjava.lang.Object
-
withVersion
public Excluder withVersion(double ignoreVersionsAfter)
-
withModifiers
public Excluder withModifiers(int... modifiers)
-
disableInnerClassSerialization
public Excluder disableInnerClassSerialization()
-
excludeFieldsWithoutExposeAnnotation
public Excluder excludeFieldsWithoutExposeAnnotation()
-
withExclusionStrategy
public Excluder withExclusionStrategy(ExclusionStrategy exclusionStrategy, boolean serialization, boolean deserialization)
-
create
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type)
Description copied from interface:TypeAdapterFactoryReturns a type adapter fortype, or null if this factory doesn't supporttype.- Specified by:
createin interfaceTypeAdapterFactory
-
excludeField
public boolean excludeField(java.lang.reflect.Field field, boolean serialize)
-
excludeClassChecks
private boolean excludeClassChecks(java.lang.Class<?> clazz)
-
excludeClass
public boolean excludeClass(java.lang.Class<?> clazz, boolean serialize)
-
excludeClassInStrategy
private boolean excludeClassInStrategy(java.lang.Class<?> clazz, boolean serialize)
-
isAnonymousOrLocal
private boolean isAnonymousOrLocal(java.lang.Class<?> clazz)
-
isInnerClass
private boolean isInnerClass(java.lang.Class<?> clazz)
-
isStatic
private boolean isStatic(java.lang.Class<?> clazz)
-
isValidSince
private boolean isValidSince(Since annotation)
-
isValidUntil
private boolean isValidUntil(Until annotation)
-
-