Class FieldSerializerConfig
- java.lang.Object
-
- com.esotericsoftware.kryo.serializers.FieldSerializerConfig
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
TaggedFieldSerializerConfig
public class FieldSerializerConfig extends java.lang.Object implements java.lang.CloneableConfiguration for FieldSerializer instances.
-
-
Field Summary
Fields Modifier and Type Field Description private FieldSerializer.CachedFieldNameStrategycachedFieldNameStrategyprivate booleancopyTransientIf set, transient fields will be copiedprivate booleanfieldsCanBeNullprivate booleanfixedFieldTypesprivate booleanignoreSyntheticFieldsprivate booleanoptimizedGenericsTry to optimize handling of generics for smaller sizeprivate booleanserializeTransientIf set, transient fields will be serializedprivate booleansetFieldsAsAccessible
-
Constructor Summary
Constructors Constructor Description FieldSerializerConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldSerializerConfigclone()FieldSerializer.CachedFieldNameStrategygetCachedFieldNameStrategy()booleangetCopyTransient()booleangetFieldsCanBeNull()booleangetFixedFieldTypes()booleangetIgnoreSyntheticFields()booleangetOptimizedGenerics()booleangetSerializeTransient()booleangetSetFieldsAsAccessible()voidsetCachedFieldNameStrategy(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 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
-
cachedFieldNameStrategy
private FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy
-
-
Method Detail
-
clone
public FieldSerializerConfig clone()
- Overrides:
clonein classjava.lang.Object
-
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
public FieldSerializer.CachedFieldNameStrategy getCachedFieldNameStrategy()
-
setCachedFieldNameStrategy
public void setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy)
-
-