Class FieldSerializer.CachedField
- java.lang.Object
-
- com.esotericsoftware.kryo.serializers.FieldSerializer.CachedField
-
- Enclosing class:
- FieldSerializer<T>
public abstract static class FieldSerializer.CachedField extends java.lang.Object
Settings for serializing a field.
-
-
Constructor Summary
Constructors Constructor Description CachedField(java.lang.reflect.Field field)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
copy(java.lang.Object original, java.lang.Object copy)
boolean
getCanBeNull()
java.lang.reflect.Field
getField()
java.lang.String
getName()
boolean
getOptimizePositive()
Serializer
getSerializer()
java.lang.Class
getValueClass()
boolean
getVariableLengthEncoding()
abstract void
read(Input input, java.lang.Object object)
void
setCanBeNull(boolean canBeNull)
When false, it is assumed the field value can never be null.void
setOptimizePositive(boolean optimizePositive)
When true, variable length int and long values are written with fewer bytes for positive values and more bytes for negative values.void
setSerializer(Serializer serializer)
The serializer to be used for this field, or null to use the serializer registered withKryo
for the type.void
setValueClass(java.lang.Class valueClass)
The concrete class of the values for this field, or null if it is not known.void
setValueClass(java.lang.Class valueClass, Serializer serializer)
Sets bothsetValueClass(Class)
andsetSerializer(Serializer)
.void
setVariableLengthEncoding(boolean varEncoding)
When true, variable length encoding is used for int or long fields.java.lang.String
toString()
abstract void
write(Output output, java.lang.Object object)
-
-
-
Method Detail
-
setValueClass
public void setValueClass(java.lang.Class valueClass)
The concrete class of the values for this field, or null if it is not known. This saves 1-2 bytes. Only set to a non-null value if the values for this field are known to be of the specified type (or null). Default is the field type if it is a primitive, primitive wrapper, or final or ifFieldSerializer.FieldSerializerConfig.setFixedFieldTypes(boolean)
is true.
-
getValueClass
public java.lang.Class getValueClass()
- Returns:
- May be null.
-
setValueClass
public void setValueClass(java.lang.Class valueClass, Serializer serializer)
Sets bothsetValueClass(Class)
andsetSerializer(Serializer)
.
-
setSerializer
public void setSerializer(Serializer serializer)
The serializer to be used for this field, or null to use the serializer registered withKryo
for the type. Some serializers require thevalue class
to also be set. Default is null.
-
getSerializer
public Serializer getSerializer()
- Returns:
- May be null.
-
setCanBeNull
public void setCanBeNull(boolean canBeNull)
When false, it is assumed the field value can never be null. This saves 0-1 bytes. Default is false for primitives, otherwiseFieldSerializer.FieldSerializerConfig.setFieldsCanBeNull(boolean)
is used unless the field has theFieldSerializer.NotNull
annotation.If the field type is a type variable, the default value is used.
-
getCanBeNull
public boolean getCanBeNull()
-
setVariableLengthEncoding
public void setVariableLengthEncoding(boolean varEncoding)
When true, variable length encoding is used for int or long fields. Default is true.
-
getVariableLengthEncoding
public boolean getVariableLengthEncoding()
-
setOptimizePositive
public void setOptimizePositive(boolean optimizePositive)
When true, variable length int and long values are written with fewer bytes for positive values and more bytes for negative values. Default is false.
-
getOptimizePositive
public boolean getOptimizePositive()
-
getName
public java.lang.String getName()
-
getField
public java.lang.reflect.Field getField()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
write
public abstract void write(Output output, java.lang.Object object)
-
read
public abstract void read(Input input, java.lang.Object object)
-
copy
public abstract void copy(java.lang.Object original, java.lang.Object copy)
-
-