Class FieldSerializerConfig

java.lang.Object
com.esotericsoftware.kryo.serializers.FieldSerializerConfig
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
TaggedFieldSerializerConfig

public class FieldSerializerConfig extends Object implements Cloneable
Configuration for FieldSerializer instances.
  • Field Details

    • 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
    • cachedFieldNameStrategy

      private FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy
  • Constructor Details

    • FieldSerializerConfig

      public FieldSerializerConfig()
  • Method Details

    • clone

      public FieldSerializerConfig clone()
      Overrides:
      clone in class Object
    • 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()
    • getCachedFieldNameStrategy

      public FieldSerializer.CachedFieldNameStrategy getCachedFieldNameStrategy()
    • setCachedFieldNameStrategy

      public void setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy)