public class FieldSerializerConfig extends Object implements Cloneable
Kryo.getFieldSerializerConfig()
, to configure a specific FieldSerializer instance use setters for configuration
settings on this specific FieldSerializer.Constructor and Description |
---|
FieldSerializerConfig() |
Modifier and Type | Method and Description |
---|---|
protected FieldSerializerConfig |
clone() |
FieldSerializer.CachedFieldNameStrategy |
getCachedFieldNameStrategy() |
boolean |
isCopyTransient() |
boolean |
isFieldsCanBeNull() |
boolean |
isFixedFieldTypes() |
boolean |
isIgnoreSyntheticFields() |
boolean |
isOptimizedGenerics() |
boolean |
isSerializeTransient() |
boolean |
isSetFieldsAsAccessible() |
boolean |
isUseAsm() |
void |
setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy) |
void |
setCopyTransient(boolean setCopyTransient)
If false, when
Kryo.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 for
FieldSerializer.CachedField.setCanBeNull(boolean) . |
void |
setFixedFieldTypes(boolean fixedFieldTypes)
Sets the default value for
FieldSerializer.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
|
void |
setUseAsm(boolean setUseAsm)
Controls whether ASM should be used.
|
protected FieldSerializerConfig clone()
public void setFieldsCanBeNull(boolean fieldsCanBeNull)
FieldSerializer.CachedField.setCanBeNull(boolean)
.fieldsCanBeNull
- False if none of the fields are null. Saves 0-1 byte per field. True if it is not known (default).public void setFieldsAsAccessible(boolean setFieldsAsAccessible)
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.public void setIgnoreSyntheticFields(boolean ignoreSyntheticFields)
ignoreSyntheticFields
- If true, only non-synthetic fields will be serialized.public void setFixedFieldTypes(boolean fixedFieldTypes)
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.public void setUseAsm(boolean setUseAsm)
setUseAsm
- If true, ASM will be used for fast serialization. If false, Unsafe will be used (default)public void setOptimizedGenerics(boolean setOptimizedGenerics)
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.
setOptimizedGenerics
- If true, the serialization of generics will be optimize for smaller size (default: false)public void setCopyTransient(boolean setCopyTransient)
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.public void setSerializeTransient(boolean serializeTransient)
serializeTransient
- public boolean isFieldsCanBeNull()
public boolean isSetFieldsAsAccessible()
public boolean isIgnoreSyntheticFields()
public boolean isFixedFieldTypes()
public boolean isUseAsm()
public boolean isOptimizedGenerics()
public boolean isCopyTransient()
public boolean isSerializeTransient()
public FieldSerializer.CachedFieldNameStrategy getCachedFieldNameStrategy()
public void setCachedFieldNameStrategy(FieldSerializer.CachedFieldNameStrategy cachedFieldNameStrategy)
Copyright © 2018. All rights reserved.