Class Field<T>

All Implemented Interfaces:
HasAnnotations, HasName, HasOptions, HasProto, Comparable<Field<?>>
Direct Known Subclasses:
EnumField, Field.Bool, Field.Bytes, Field.Number, Field.Reference, Field.String, MessageField

public abstract class Field<T> extends AnnotationContainer implements Comparable<Field<?>>, HasName, HasOptions
Base class for fields defined in a Message.
  • Field Details

  • Constructor Details

    • Field

      public Field()
    • Field

      public Field(boolean packable)
  • Method Details

    • getProto

      public Proto getProto()
      Specified by:
      getProto in interface HasProto
    • getStandardOptions

      public LinkedHashMap<String,Object> getStandardOptions()
    • getExtraOptions

      public LinkedHashMap<String,Object> getExtraOptions()
    • getO

      public LinkedHashMap<String,Object> getO()
    • getOptions

      public LinkedHashMap<String,Object> getOptions()
      Returns this options
      Specified by:
      getOptions in interface HasOptions
    • getOption

      public <V> V getOption(String key)
      Returns the option defined by the key.
    • hasOption

      public boolean hasOption(String key)
    • putStandardOption

      public void putStandardOption(String key, Object value)
      Specified by:
      putStandardOption in interface HasOptions
    • putExtraOption

      public void putExtraOption(String key, Object value)
      Specified by:
      putExtraOption in interface HasOptions
    • getName

      public String getName()
      Specified by:
      getName in interface HasName
      Returns:
      the name
    • getDefaultValueConstant

      public String getDefaultValueConstant()
    • getNumber

      public int getNumber()
      Returns:
      the number
    • getModifier

      public Field.Modifier getModifier()
      Returns:
      the modifier
    • isPackable

      public boolean isPackable()
      Returns:
      the packable
    • getDefaultValue

      public T getDefaultValue()
      Returns:
      the defaultValue
    • isRepeated

      public boolean isRepeated()
    • isRequired

      public boolean isRequired()
    • isOptional

      public boolean isOptional()
    • isDefaultValueSet

      public boolean isDefaultValueSet()
    • isNumberField

      public boolean isNumberField()
    • isEnumField

      public boolean isEnumField()
    • isMessageField

      public boolean isMessageField()
    • isBytesField

      public boolean isBytesField()
    • isStringField

      public boolean isStringField()
    • isBoolField

      public boolean isBoolField()
    • isDelimited

      public boolean isDelimited()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(Field<?> f)
      Specified by:
      compareTo in interface Comparable<T>
    • getJavaType

      public abstract String getJavaType()
    • getProtoType

      public String getProtoType()
      Returns field type for proto files. Scalar value types: https://developers.google.com/protocol-buffers/docs/proto#scalar
      Returns:
      .proto type
    • getDefaultValueAsString

      public String getDefaultValueAsString()
    • getOwner

      public Message getOwner()