Class EnumNameSerializer

java.lang.Object
com.esotericsoftware.kryo.Serializer<Enum>
com.esotericsoftware.kryo.serializers.EnumNameSerializer

public class EnumNameSerializer extends Serializer<Enum>
Serializes enums using the enum's name. This prevents invalidating previously serialized byts when the enum order changes.
  • Field Details

    • enumType

      private final Class<? extends Enum> enumType
    • stringSerializer

      private final Serializer stringSerializer
  • Constructor Details

    • EnumNameSerializer

      public EnumNameSerializer(Kryo kryo, Class<? extends Enum> type)
  • Method Details

    • 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>
      Parameters:
      object - May be null if Serializer.getAcceptsNull() is true.
    • read

      public Enum read(Kryo kryo, Input input, Class<Enum> 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.