- 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 attributesSince
andUntil
, modifiers, synthetic fields, anonymous and local classes, inner classes, and fields with theExpose
annotation.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 Excluder
DEFAULT
private java.util.List<ExclusionStrategy>
deserializationStrategies
private static double
IGNORE_VERSIONS
private int
modifiers
private boolean
requireExpose
private java.util.List<ExclusionStrategy>
serializationStrategies
private boolean
serializeInnerClasses
private double
version
-
Constructor Summary
Constructors Constructor Description Excluder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Excluder
clone()
<T> TypeAdapter<T>
create(Gson gson, TypeToken<T> type)
Returns a type adapter fortype
, or null if this factory doesn't supporttype
.Excluder
disableInnerClassSerialization()
boolean
excludeClass(java.lang.Class<?> clazz, boolean serialize)
private boolean
excludeClassChecks(java.lang.Class<?> clazz)
private boolean
excludeClassInStrategy(java.lang.Class<?> clazz, boolean serialize)
boolean
excludeField(java.lang.reflect.Field field, boolean serialize)
Excluder
excludeFieldsWithoutExposeAnnotation()
private boolean
isAnonymousOrNonStaticLocal(java.lang.Class<?> clazz)
private boolean
isInnerClass(java.lang.Class<?> clazz)
private boolean
isStatic(java.lang.Class<?> clazz)
private boolean
isValidSince(Since annotation)
private boolean
isValidUntil(Until annotation)
private boolean
isValidVersion(Since since, Until until)
Excluder
withExclusionStrategy(ExclusionStrategy exclusionStrategy, boolean serialization, boolean deserialization)
Excluder
withModifiers(int... modifiers)
Excluder
withVersion(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:
clone
in 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:TypeAdapterFactory
Returns a type adapter fortype
, or null if this factory doesn't supporttype
.- Specified by:
create
in 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)
-
isAnonymousOrNonStaticLocal
private boolean isAnonymousOrNonStaticLocal(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)
-
-