Class FieldSerializerConfig
java.lang.Object
com.esotericsoftware.kryo.serializers.FieldSerializerConfig
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
TaggedFieldSerializerConfig
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanIf set, transient fields will be copiedprivate booleanprivate booleanprivate booleanprivate booleanTry to optimize handling of generics for smaller sizeprivate booleanIf set, transient fields will be serializedprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()booleanbooleanbooleanbooleanbooleanbooleanbooleanvoidsetCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy) voidsetCopyTransient(boolean setCopyTransient) If false, whenKryo.copy(Object)is called all transient fields that are accessible will be ignored from being copied.voidsetFieldsAsAccessible(boolean setFieldsAsAccessible) Controls which fields are serialized.voidsetFieldsCanBeNull(boolean fieldsCanBeNull) Sets the default value forFieldSerializer.CachedField.setCanBeNull(boolean).voidsetFixedFieldTypes(boolean fixedFieldTypes) Sets the default value forFieldSerializer.CachedField.setClass(Class)to the field's declared type.voidsetIgnoreSyntheticFields(boolean ignoreSyntheticFields) Controls if synthetic fields are serialized.voidsetOptimizedGenerics(boolean setOptimizedGenerics) Controls if the serialization of generics should be optimized for smaller size.voidsetSerializeTransient(boolean serializeTransient) If set, transient fields will be serialized Default is false
-
Field Details
-
fieldsCanBeNull
private boolean fieldsCanBeNull -
setFieldsAsAccessible
private boolean setFieldsAsAccessible -
ignoreSyntheticFields
private boolean ignoreSyntheticFields -
fixedFieldTypes
private boolean fixedFieldTypes -
copyTransient
private boolean copyTransientIf set, transient fields will be copied -
serializeTransient
private boolean serializeTransientIf set, transient fields will be serialized -
optimizedGenerics
private boolean optimizedGenericsTry to optimize handling of generics for smaller size -
cachedFieldNameStrategy
-
-
Constructor Details
-
FieldSerializerConfig
public FieldSerializerConfig()
-
-
Method Details
-
clone
-
setFieldsCanBeNull
public void setFieldsCanBeNull(boolean fieldsCanBeNull) Sets the default value forFieldSerializer.CachedField.setCanBeNull(boolean).- 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 andset as accessibleif 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 forFieldSerializer.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, whenKryo.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 useFieldSerializer.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
-
setCachedFieldNameStrategy
public void setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy)
-