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.Cloneable
Configuration for FieldSerializer instances.
-
-
Field Summary
Fields Modifier and Type Field Description private FieldSerializer.CachedFieldNameStrategy
cachedFieldNameStrategy
private boolean
copyTransient
If set, transient fields will be copiedprivate boolean
fieldsCanBeNull
private boolean
fixedFieldTypes
private boolean
ignoreSyntheticFields
private boolean
optimizedGenerics
Try to optimize handling of generics for smaller sizeprivate boolean
serializeTransient
If set, transient fields will be serializedprivate boolean
setFieldsAsAccessible
-
Constructor Summary
Constructors Constructor Description FieldSerializerConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldSerializerConfig
clone()
FieldSerializer.CachedFieldNameStrategy
getCachedFieldNameStrategy()
boolean
getCopyTransient()
boolean
getFieldsCanBeNull()
boolean
getFixedFieldTypes()
boolean
getIgnoreSyntheticFields()
boolean
getOptimizedGenerics()
boolean
getSerializeTransient()
boolean
getSetFieldsAsAccessible()
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 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:
clone
in 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 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
public FieldSerializer.CachedFieldNameStrategy getCachedFieldNameStrategy()
-
setCachedFieldNameStrategy
public void setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy)
-
-