Class CEnumValue

  • All Implemented Interfaces:
    java.lang.Comparable<CEnumValue>, net.morimekta.providence.PEnumValue<CEnumValue>, net.morimekta.providence.PValue<CEnumValue>, CAnnotatedDescriptor, net.morimekta.util.Numeric, net.morimekta.util.Stringable

    public class CEnumValue
    extends java.lang.Object
    implements net.morimekta.providence.PEnumValue<CEnumValue>, CAnnotatedDescriptor
    Contained enum value. This emulates enum values to used in thrift reflection.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CEnumValue.Builder  
    • Constructor Summary

      Constructors 
      Constructor Description
      CEnumValue​(java.lang.String comment, int value, java.lang.String name, net.morimekta.providence.descriptor.PEnumDescriptor<CEnumValue> type, java.util.Map<java.lang.String,java.lang.String> annotations)  
    • Constructor Detail

      • CEnumValue

        public CEnumValue​(@Nullable
                          java.lang.String comment,
                          int value,
                          @Nonnull
                          java.lang.String name,
                          @Nonnull
                          net.morimekta.providence.descriptor.PEnumDescriptor<CEnumValue> type,
                          @Nullable
                          java.util.Map<java.lang.String,java.lang.String> annotations)
    • Method Detail

      • getDocumentation

        public java.lang.String getDocumentation()
        Description copied from interface: CAnnotatedDescriptor
        The type comment is the last block of comment written before the type declaration. Comments on the same line, after the declaration is ignored.
        Specified by:
        getDocumentation in interface CAnnotatedDescriptor
        Returns:
        The comment string containing all formatting (not including the comment delimiter and the leading space.
      • asInteger

        public int asInteger()
        Specified by:
        asInteger in interface net.morimekta.util.Numeric
      • asString

        @Nonnull
        public java.lang.String asString()
        Specified by:
        asString in interface net.morimekta.util.Stringable
      • hasAnnotation

        public boolean hasAnnotation​(@Nonnull
                                     java.lang.String name)
        Description copied from interface: CAnnotatedDescriptor
        Get the given annotation value.
        Specified by:
        hasAnnotation in interface CAnnotatedDescriptor
        Parameters:
        name - Name of annotation.
        Returns:
        If the annotation is present.
      • getAnnotationValue

        public java.lang.String getAnnotationValue​(@Nonnull
                                                   java.lang.String name)
        Description copied from interface: CAnnotatedDescriptor
        Get the given annotation value.
        Specified by:
        getAnnotationValue in interface CAnnotatedDescriptor
        Parameters:
        name - Name of annotation.
        Returns:
        The annotation value or null.
      • descriptor

        @Nonnull
        public net.morimekta.providence.descriptor.PEnumDescriptor<CEnumValue> descriptor()
        Specified by:
        descriptor in interface net.morimekta.providence.PEnumValue<CEnumValue>
        Specified by:
        descriptor in interface net.morimekta.providence.PValue<CEnumValue>
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • compareTo

        public int compareTo​(@Nonnull
                             CEnumValue other)
        Specified by:
        compareTo in interface java.lang.Comparable<CEnumValue>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object