Class EnumIO<E extends java.lang.Enum<E>>

    • Field Detail

      • __keyTypeFromEnumMap

        private static final java.lang.reflect.Field __keyTypeFromEnumMap
      • __elementTypeFromEnumSet

        private static final java.lang.reflect.Field __elementTypeFromEnumSet
      • enumClass

        public final java.lang.Class<E extends java.lang.Enum<E>> enumClass
        The enum class.
      • alias

        private final java.lang.String[] alias
      • tag

        private final int[] tag
      • valueByAliasMap

        private final java.util.Map<java.lang.String,​E extends java.lang.Enum<E>> valueByAliasMap
      • valueByTagMap

        private final java.util.Map<java.lang.Integer,​E extends java.lang.Enum<E>> valueByTagMap
    • Constructor Detail

      • EnumIO

        public EnumIO​(java.lang.Class<E> enumClass,
                      IdStrategy strategy)
    • Method Detail

      • getKeyTypeFromEnumMap

        static java.lang.Class<?> getKeyTypeFromEnumMap​(java.lang.Object enumMap)
        Retrieves the enum key type from the EnumMap via reflection. This is used by ObjectSchema.
      • getElementTypeFromEnumSet

        static java.lang.Class<?> getElementTypeFromEnumSet​(java.lang.Object enumSet)
        Retrieves the enum key type from the EnumMap via reflection. This is used by ObjectSchema.
      • newEnumIO

        static EnumIO<? extends java.lang.Enum<?>> newEnumIO​(java.lang.Class<?> enumClass,
                                                             IdStrategy strategy)
      • writeTo

        public void writeTo​(Output output,
                            int number,
                            boolean repeated,
                            java.lang.Enum<?> e)
                     throws java.io.IOException
        Writes the Enum to the output.
        Throws:
        java.io.IOException
      • transfer

        public static void transfer​(Pipe pipe,
                                    Input input,
                                    Output output,
                                    int number,
                                    boolean repeated,
                                    IdStrategy strategy)
                             throws java.io.IOException
        Transfers the Enum from the input to the output.
        Throws:
        java.io.IOException
      • getTag

        public int getTag​(java.lang.Enum<?> element)
      • getAlias

        public java.lang.String getAlias​(java.lang.Enum<?> element)
      • getByTag

        public E getByTag​(int tag)
      • getByAlias

        public E getByAlias​(java.lang.String alias)
      • newEnumSet

        public java.util.EnumSet<E> newEnumSet()
        Returns an empty EnumSet.
      • newEnumMap

        public <V> java.util.EnumMap<E,​V> newEnumMap()
        Returns an empty EnumMap.
      • readFrom

        public abstract E readFrom​(Input input)
                            throws java.io.IOException
        Read the enum from the input.
        Throws:
        java.io.IOException