Class EnumNameSerializer


  • public class EnumNameSerializer
    extends ImmutableSerializer<Enum>
    Serializes enums using the enum's name. This prevents invalidating previously serialized byts when the enum order changes.
    Author:
    KwonNam Son
    • Constructor Detail

      • EnumNameSerializer

        public EnumNameSerializer​(Class<? extends Enum> enumType)
    • Method Detail

      • write

        public void write​(Kryo kryo,
                          Output output,
                          Enum object)
        Description copied from class: Serializer
        Writes the bytes for the object to the output.

        This method should not be called directly, instead this serializer can be passed to Kryo write methods that accept a serialier.

        Specified by:
        write in class Serializer<Enum>
        object - May be null if Serializer.getAcceptsNull() is true.
      • read

        public Enum read​(Kryo kryo,
                         Input input,
                         Class type)
        Description copied from class: Serializer
        Reads bytes and returns a new object of the specified concrete type.

        Before Kryo can be used to read child objects, Kryo.reference(Object) must be called with the parent object to ensure it can be referenced by the child objects. Any serializer that uses Kryo to read a child object may need to be reentrant.

        This method should not be called directly, instead this serializer can be passed to Kryo read methods that accept a serialier.

        Specified by:
        read in class Serializer<Enum>
        Returns:
        May be null if Serializer.getAcceptsNull() is true.