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.ObjectSettings 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 voidcopy(java.lang.Object original, java.lang.Object copy)booleangetCanBeNull()java.lang.reflect.FieldgetField()java.lang.StringgetName()booleangetOptimizePositive()SerializergetSerializer()java.lang.ClassgetValueClass()booleangetVariableLengthEncoding()abstract voidread(Input input, java.lang.Object object)voidsetCanBeNull(boolean canBeNull)When false, it is assumed the field value can never be null.voidsetOptimizePositive(boolean optimizePositive)When true, variable length int and long values are written with fewer bytes for positive values and more bytes for negative values.voidsetSerializer(Serializer serializer)The serializer to be used for this field, or null to use the serializer registered withKryofor the type.voidsetValueClass(java.lang.Class valueClass)The concrete class of the values for this field, or null if it is not known.voidsetValueClass(java.lang.Class valueClass, Serializer serializer)Sets bothsetValueClass(Class)andsetSerializer(Serializer).voidsetVariableLengthEncoding(boolean varEncoding)When true, variable length encoding is used for int or long fields.java.lang.StringtoString()abstract voidwrite(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 withKryofor the type. Some serializers require thevalue classto 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.NotNullannotation.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:
toStringin 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)
-
-