Class FieldSerializerConfig

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    TaggedFieldSerializerConfig

    public class FieldSerializerConfig
    extends java.lang.Object
    implements java.lang.Cloneable
    Configuration for FieldSerializer instances.
    • Field Detail

      • fieldsCanBeNull

        private boolean fieldsCanBeNull
      • setFieldsAsAccessible

        private boolean setFieldsAsAccessible
      • ignoreSyntheticFields

        private boolean ignoreSyntheticFields
      • fixedFieldTypes

        private boolean fixedFieldTypes
      • copyTransient

        private boolean copyTransient
        If set, transient fields will be copied
      • serializeTransient

        private boolean serializeTransient
        If set, transient fields will be serialized
      • optimizedGenerics

        private boolean optimizedGenerics
        Try to optimize handling of generics for smaller size
    • Constructor Detail

      • FieldSerializerConfig

        public FieldSerializerConfig()
    • Method Detail

      • setFieldsCanBeNull

        public void setFieldsCanBeNull​(boolean fieldsCanBeNull)
        Parameters:
        fieldsCanBeNull - False if none of the fields are null. Saves 0-1 byte per field. True if it is not known (default).
      • setFieldsAsAccessible

        public void setFieldsAsAccessible​(boolean setFieldsAsAccessible)
        Controls which fields are serialized.
        Parameters:
        setFieldsAsAccessible - If true, all non-transient fields (inlcuding private fields) will be serialized and set as accessible if necessary (default). If false, only fields in the public API will be serialized.
      • setIgnoreSyntheticFields

        public void setIgnoreSyntheticFields​(boolean ignoreSyntheticFields)
        Controls if synthetic fields are serialized. Default is true.
        Parameters:
        ignoreSyntheticFields - If true, only non-synthetic fields will be serialized.
      • setFixedFieldTypes

        public void setFixedFieldTypes​(boolean fixedFieldTypes)
        Sets the default value for FieldSerializer.CachedField.setClass(Class) to the field's declared type. This allows FieldSerializer to be more efficient, since it knows field values will not be a subclass of their declared type. Default is false.
      • setOptimizedGenerics

        public void setOptimizedGenerics​(boolean setOptimizedGenerics)
        Controls if the serialization of generics should be optimized for smaller size.

        Important: This setting changes the serialized representation, so that data can be deserialized only with if this setting is the same as it was for serialization.

        Parameters:
        setOptimizedGenerics - If true, the serialization of generics will be optimize for smaller size (default: false)
      • setCopyTransient

        public void setCopyTransient​(boolean setCopyTransient)
        If false, when Kryo.copy(Object) is called all transient fields that are accessible will be ignored from being copied. This has to be set before registering classes with kryo for it to be used by all field serializers. If transient fields has to be copied for specific classes then use FieldSerializer.setCopyTransient(boolean). Default is true.
      • setSerializeTransient

        public void setSerializeTransient​(boolean serializeTransient)
        If set, transient fields will be serialized Default is false
        Parameters:
        serializeTransient -
      • getFieldsCanBeNull

        public boolean getFieldsCanBeNull()
      • getSetFieldsAsAccessible

        public boolean getSetFieldsAsAccessible()
      • getIgnoreSyntheticFields

        public boolean getIgnoreSyntheticFields()
      • getFixedFieldTypes

        public boolean getFixedFieldTypes()
      • getOptimizedGenerics

        public boolean getOptimizedGenerics()
      • getCopyTransient

        public boolean getCopyTransient()
      • getSerializeTransient

        public boolean getSerializeTransient()