Class 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 attributes Since and Until, modifiers, synthetic fields, anonymous and local classes, inner classes, and fields with the Expose 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 Detail

      • 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
    • Constructor Detail

      • Excluder

        public Excluder()
    • Method Detail

      • clone

        protected Excluder clone()
        Overrides:
        clone in class java.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)
      • 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)
      • isValidVersion

        private boolean isValidVersion​(Since since,
                                       Until until)
      • isValidSince

        private boolean isValidSince​(Since annotation)
      • isValidUntil

        private boolean isValidUntil​(Until annotation)