com.netflix.zeno.serializer.common
Class EnumSerializer<T extends java.lang.Enum>

java.lang.Object
  extended by com.netflix.zeno.serializer.NFTypeSerializer<T>
      extended by com.netflix.zeno.serializer.common.EnumSerializer<T>

public class EnumSerializer<T extends java.lang.Enum>
extends NFTypeSerializer<T>

A default NFTypeSerializer implementation for Enums.

NOTE: Including enum types in your data model may cause issues. The enum is serialized as a String, which is the Enum name. If the Enum does not exist during deserialization, null will be returned during deserialization.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.netflix.zeno.serializer.NFTypeSerializer
NFTypeSerializer.FastBlobSchemaField
 
Field Summary
 
Fields inherited from class com.netflix.zeno.serializer.NFTypeSerializer
serializationFramework
 
Constructor Summary
EnumSerializer(java.lang.Class<T> enumClazz)
           
 
Method Summary
protected  FastBlobSchema createSchema()
           
protected  T doDeserialize(NFDeserializationRecord rec)
           
 void doSerialize(T value, NFSerializationRecord rec)
           
 java.util.Collection<NFTypeSerializer<?>> requiredSubSerializers()
           
 
Methods inherited from class com.netflix.zeno.serializer.NFTypeSerializer
deserialize, deserializeBoolean, deserializeBoolean, deserializeBytes, deserializeDouble, deserializeFloat, deserializeInteger, deserializeLong, deserializeObject, deserializePrimitiveDouble, deserializePrimitiveFloat, deserializePrimitiveInt, deserializePrimitiveLong, deserializePrimitiveString, field, field, getFastBlobSchema, getName, getSerializationFramework, schema, serialize, serializeBytes, serializeObject, serializePrimitive, serializers, setSerializationFramework
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumSerializer

public EnumSerializer(java.lang.Class<T> enumClazz)
Method Detail

doSerialize

public void doSerialize(T value,
                        NFSerializationRecord rec)
Specified by:
doSerialize in class NFTypeSerializer<T extends java.lang.Enum>

doDeserialize

protected T doDeserialize(NFDeserializationRecord rec)
Specified by:
doDeserialize in class NFTypeSerializer<T extends java.lang.Enum>

createSchema

protected FastBlobSchema createSchema()
Specified by:
createSchema in class NFTypeSerializer<T extends java.lang.Enum>

requiredSubSerializers

public java.util.Collection<NFTypeSerializer<?>> requiredSubSerializers()
Specified by:
requiredSubSerializers in class NFTypeSerializer<T extends java.lang.Enum>