Class FieldSerializerConfig
java.lang.Object
com.esotericsoftware.kryo.serializers.FieldSerializerConfig
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
TaggedFieldSerializerConfig
Configuration for FieldSerializer instances.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
If set, transient fields will be copiedprivate boolean
private boolean
private boolean
private boolean
Try to optimize handling of generics for smaller sizeprivate boolean
If set, transient fields will be serializedprivate boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
setCachedFieldNameStrategy
(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy) void
setCopyTransient
(boolean setCopyTransient) If false, whenKryo.copy(Object)
is called all transient fields that are accessible will be ignored from being copied.void
setFieldsAsAccessible
(boolean setFieldsAsAccessible) Controls which fields are serialized.void
setFieldsCanBeNull
(boolean fieldsCanBeNull) Sets the default value forFieldSerializer.CachedField.setCanBeNull(boolean)
.void
setFixedFieldTypes
(boolean fixedFieldTypes) Sets the default value forFieldSerializer.CachedField.setClass(Class)
to the field's declared type.void
setIgnoreSyntheticFields
(boolean ignoreSyntheticFields) Controls if synthetic fields are serialized.void
setOptimizedGenerics
(boolean setOptimizedGenerics) Controls if the serialization of generics should be optimized for smaller size.void
setSerializeTransient
(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 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 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)
-