DescriptorProtos.FieldOptions
Date: 2017-07-08

com.google.protobuf

## Class DescriptorProtos.FieldOptions

- java.lang.Object
- - com.google.protobuf.AbstractMessageLite
  - - com.google.protobuf.AbstractMessage
    - - com.google.protobuf.GeneratedMessageV3
      - - com.google.protobuf.GeneratedMessageV3.ExtendableMessage<DescriptorProtos.FieldOptions>
        - - com.google.protobuf.DescriptorProtos.FieldOptions

- All Implemented Interfaces:
    DescriptorProtos.FieldOptionsOrBuilder, GeneratedMessageV3.ExtendableMessageOrBuilder<DescriptorProtos.FieldOptions>, Message, MessageLite, MessageLiteOrBuilder, MessageOrBuilder, java.io.Serializable
  Enclosing class:
    DescriptorProtos

      public static final class DescriptorProtos.FieldOptions
      extends GeneratedMessageV3.ExtendableMessage<DescriptorProtos.FieldOptions>
      implements DescriptorProtos.FieldOptionsOrBuilder

  Protobuf type `google.protobuf.FieldOptions`
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `DescriptorProtos.FieldOptions.Builder` Protobuf type `google.protobuf.FieldOptions`
    `static class` | `DescriptorProtos.FieldOptions.CType` Protobuf enum `google.protobuf.FieldOptions.CType`
    `static class` | `DescriptorProtos.FieldOptions.JSType` Protobuf enum `google.protobuf.FieldOptions.JSType`

    - ### Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3.ExtendableMessage

      `GeneratedMessageV3.ExtendableMessage.ExtensionWriter`

    - ### Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

      `GeneratedMessageV3.BuilderParent, GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.FieldAccessorTable`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CTYPE_FIELD_NUMBER`
    `static int` | `DEPRECATED_FIELD_NUMBER`
    `static int` | `JSTYPE_FIELD_NUMBER`
    `static int` | `LAZY_FIELD_NUMBER`
    `static int` | `PACKED_FIELD_NUMBER`
    `static Parser<DescriptorProtos.FieldOptions>` | `PARSER` Deprecated.
    `static int` | `UNINTERPRETED_OPTION_FIELD_NUMBER`
    `static int` | `WEAK_FIELD_NUMBER`

    - ### Fields inherited from class com.google.protobuf.GeneratedMessageV3

      `alwaysUseFieldBuilders, unknownFields`

    - ### Fields inherited from class com.google.protobuf.AbstractMessage

      `memoizedSize`

    - ### Fields inherited from class com.google.protobuf.AbstractMessageLite

      `memoizedHashCode`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)` Compares the specified object with this message for equality.
    `DescriptorProtos.FieldOptions.CType` | `getCtype()` The ctype option instructs the C++ code generator to use a different representation of the field than it normally would.
    `static DescriptorProtos.FieldOptions` | `getDefaultInstance()`
    `DescriptorProtos.FieldOptions` | `getDefaultInstanceForType()` Get an instance of the type with no fields set.
    `boolean` | `getDeprecated()` Is this field deprecated? Depending on the target platform, this can emit Deprecated annotations for accessors, or it will be completely ignored; in the very least, this is a formalization for deprecating fields.
    `static Descriptors.Descriptor` | `getDescriptor()`
    `DescriptorProtos.FieldOptions.JSType` | `getJstype()` The jstype option determines the JavaScript type used for values of the field.
    `boolean` | `getLazy()` Should this field be parsed lazily? Lazy applies only to message-type fields.
    `boolean` | `getPacked()` The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire.
    `Parser<DescriptorProtos.FieldOptions>` | `getParserForType()` Gets the parser for a message of the same type as this message.
    `int` | `getSerializedSize()` Get the number of bytes required to encode this message.
    `DescriptorProtos.UninterpretedOption` | `getUninterpretedOption(int index)` The parser stores options it doesn't recognize here.
    `int` | `getUninterpretedOptionCount()` The parser stores options it doesn't recognize here.
    `java.util.List<DescriptorProtos.UninterpretedOption>` | `getUninterpretedOptionList()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOptionOrBuilder` | `getUninterpretedOptionOrBuilder(int index)` The parser stores options it doesn't recognize here.
    `java.util.List<? extends DescriptorProtos.UninterpretedOptionOrBuilder>` | `getUninterpretedOptionOrBuilderList()` The parser stores options it doesn't recognize here.
    `UnknownFieldSet` | `getUnknownFields()` Get the `UnknownFieldSet` for this message.
    `boolean` | `getWeak()` For Google-internal migration only.
    `boolean` | `hasCtype()` The ctype option instructs the C++ code generator to use a different representation of the field than it normally would.
    `boolean` | `hasDeprecated()` Is this field deprecated? Depending on the target platform, this can emit Deprecated annotations for accessors, or it will be completely ignored; in the very least, this is a formalization for deprecating fields.
    `int` | `hashCode()` Returns the hash code value for this message.
    `boolean` | `hasJstype()` The jstype option determines the JavaScript type used for values of the field.
    `boolean` | `hasLazy()` Should this field be parsed lazily? Lazy applies only to message-type fields.
    `boolean` | `hasPacked()` The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire.
    `boolean` | `hasWeak()` For Google-internal migration only.
    `protected GeneratedMessageV3.FieldAccessorTable` | `internalGetFieldAccessorTable()` Get the FieldAccessorTable for this type.
    `boolean` | `isInitialized()` Returns true if all required fields in the message and all embedded messages are set, false otherwise.
    `static DescriptorProtos.FieldOptions.Builder` | `newBuilder()`
    `static DescriptorProtos.FieldOptions.Builder` | `newBuilder(DescriptorProtos.FieldOptions prototype)`
    `DescriptorProtos.FieldOptions.Builder` | `newBuilderForType()` Constructs a new builder for a message of the same type as this message.
    `protected DescriptorProtos.FieldOptions.Builder` | `newBuilderForType(GeneratedMessageV3.BuilderParent parent)` TODO(xiaofeng): remove this together with GeneratedMessageV3.BuilderParent.
    `static DescriptorProtos.FieldOptions` | `parseDelimitedFrom(java.io.InputStream input)`
    `static DescriptorProtos.FieldOptions` | `parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(byte[] data)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(java.nio.ByteBuffer data)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(ByteString data)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(CodedInputStream input)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(java.io.InputStream input)`
    `static DescriptorProtos.FieldOptions` | `parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry)`
    `static Parser<DescriptorProtos.FieldOptions>` | `parser()`
    `DescriptorProtos.FieldOptions.Builder` | `toBuilder()` Constructs a builder initialized with the current message.
    `void` | `writeTo(CodedOutputStream output)` Serializes the message and writes it to `output`.

    - ### Methods inherited from class com.google.protobuf.GeneratedMessageV3.ExtendableMessage

      `extensionsAreInitialized, extensionsSerializedSize, extensionsSerializedSizeAsMessageSet, getAllFields, getAllFieldsRaw, getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, getExtensionFields, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasExtension, hasExtension, hasField, makeExtensionsImmutable, newExtensionWriter, newMessageSetExtensionWriter, parseUnknownField`

    - ### Methods inherited from class com.google.protobuf.GeneratedMessageV3

      `computeStringSize, computeStringSizeNoTag, getDescriptorForType, getOneofFieldDescriptor, hasOneof, internalGetMapField, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag`

    - ### Methods inherited from class com.google.protobuf.AbstractMessage

      `findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString`

    - ### Methods inherited from class com.google.protobuf.AbstractMessageLite

      `addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder

      `getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, hasExtension, hasExtension, hasExtension`

    - ### Methods inherited from interface com.google.protobuf.MessageOrBuilder

      `findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof`

    - ### Methods inherited from interface com.google.protobuf.MessageLite

      `toByteArray, toByteString, writeDelimitedTo, writeTo`

- - ### Field Detail

    - #### CTYPE_FIELD_NUMBER

          public static final int CTYPE_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### PACKED_FIELD_NUMBER

          public static final int PACKED_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### JSTYPE_FIELD_NUMBER

          public static final int JSTYPE_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### LAZY_FIELD_NUMBER

          public static final int LAZY_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### DEPRECATED_FIELD_NUMBER

          public static final int DEPRECATED_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### WEAK_FIELD_NUMBER

          public static final int WEAK_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### UNINTERPRETED_OPTION_FIELD_NUMBER

          public static final int UNINTERPRETED_OPTION_FIELD_NUMBER

      See Also:
        Constant Field Values

    - #### PARSER

          @Deprecated
          public static final Parser<DescriptorProtos.FieldOptions> PARSER

      Deprecated.

  - ### Method Detail

    - #### getUnknownFields

          public final UnknownFieldSet getUnknownFields()

      Description copied from interface: `MessageOrBuilder`
      Get the `UnknownFieldSet` for this message.
      Specified by:
        `getUnknownFields` in interface `MessageOrBuilder`
      Overrides:
        `getUnknownFields` in class `GeneratedMessageV3`

    - #### getDescriptor

          public static final Descriptors.Descriptor getDescriptor()

    - #### internalGetFieldAccessorTable

          protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()

      Description copied from class: `GeneratedMessageV3`
      Get the FieldAccessorTable for this type. We can't have the message class pass this in to the constructor because of bootstrapping trouble with DescriptorProtos.
      Specified by:
        `internalGetFieldAccessorTable` in class `GeneratedMessageV3`

    - #### hasCtype

          public boolean hasCtype()

           The ctype option instructs the C++ code generator to use a different
           representation of the field than it normally would.  See the specific
           options below.  This option is not yet implemented in the open source
           release -- sorry, we'll try to include it in a future version!

      `optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];`
      Specified by:
        `hasCtype` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getCtype

          public DescriptorProtos.FieldOptions.CType getCtype()

           The ctype option instructs the C++ code generator to use a different
           representation of the field than it normally would.  See the specific
           options below.  This option is not yet implemented in the open source
           release -- sorry, we'll try to include it in a future version!

      `optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];`
      Specified by:
        `getCtype` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### hasPacked

          public boolean hasPacked()

           The packed option can be enabled for repeated primitive fields to enable
           a more efficient representation on the wire. Rather than repeatedly
           writing the tag and type for each element, the entire array is encoded as
           a single length-delimited blob. In proto3, only explicit setting it to
           false will avoid using packed encoding.

      `optional bool packed = 2;`
      Specified by:
        `hasPacked` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getPacked

          public boolean getPacked()

           The packed option can be enabled for repeated primitive fields to enable
           a more efficient representation on the wire. Rather than repeatedly
           writing the tag and type for each element, the entire array is encoded as
           a single length-delimited blob. In proto3, only explicit setting it to
           false will avoid using packed encoding.

      `optional bool packed = 2;`
      Specified by:
        `getPacked` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### hasJstype

          public boolean hasJstype()

           The jstype option determines the JavaScript type used for values of the
           field.  The option is permitted only for 64 bit integral and fixed types
           (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
           represented as JavaScript strings.  This avoids loss of precision that can
           happen when a large value is converted to a floating point JavaScript
           numbers.  Specifying JS_NUMBER for the jstype causes the generated
           JavaScript code to use the JavaScript "number" type instead of strings.
           This option is an enum to permit additional types to be added,
           e.g. goog.math.Integer.

      `optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];`
      Specified by:
        `hasJstype` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getJstype

          public DescriptorProtos.FieldOptions.JSType getJstype()

           The jstype option determines the JavaScript type used for values of the
           field.  The option is permitted only for 64 bit integral and fixed types
           (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
           represented as JavaScript strings.  This avoids loss of precision that can
           happen when a large value is converted to a floating point JavaScript
           numbers.  Specifying JS_NUMBER for the jstype causes the generated
           JavaScript code to use the JavaScript "number" type instead of strings.
           This option is an enum to permit additional types to be added,
           e.g. goog.math.Integer.

      `optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];`
      Specified by:
        `getJstype` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### hasLazy

          public boolean hasLazy()

           Should this field be parsed lazily?  Lazy applies only to message-type
           fields.  It means that when the outer message is initially parsed, the
           inner message's contents will not be parsed but instead stored in encoded
           form.  The inner message will actually be parsed when it is first accessed.
           This is only a hint.  Implementations are free to choose whether to use
           eager or lazy parsing regardless of the value of this option.  However,
           setting this option true suggests that the protocol author believes that
           using lazy parsing on this field is worth the additional bookkeeping
           overhead typically needed to implement it.
           This option does not affect the public interface of any generated code;
           all method signatures remain the same.  Furthermore, thread-safety of the
           interface is not affected by this option; const methods remain safe to
           call from multiple threads concurrently, while non-const methods continue
           to require exclusive access.
           Note that implementations may choose not to check required fields within
           a lazy sub-message.  That is, calling IsInitialized() on the outer message
           may return true even if the inner message has missing required fields.
           This is necessary because otherwise the inner message would have to be
           parsed in order to perform the check, defeating the purpose of lazy
           parsing.  An implementation which chooses not to check required fields
           must be consistent about it.  That is, for any particular sub-message, the
           implementation must either *always* check its required fields, or *never*
           check its required fields, regardless of whether or not the message has
           been parsed.

      `optional bool lazy = 5 [default = false];`
      Specified by:
        `hasLazy` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getLazy

          public boolean getLazy()

           Should this field be parsed lazily?  Lazy applies only to message-type
           fields.  It means that when the outer message is initially parsed, the
           inner message's contents will not be parsed but instead stored in encoded
           form.  The inner message will actually be parsed when it is first accessed.
           This is only a hint.  Implementations are free to choose whether to use
           eager or lazy parsing regardless of the value of this option.  However,
           setting this option true suggests that the protocol author believes that
           using lazy parsing on this field is worth the additional bookkeeping
           overhead typically needed to implement it.
           This option does not affect the public interface of any generated code;
           all method signatures remain the same.  Furthermore, thread-safety of the
           interface is not affected by this option; const methods remain safe to
           call from multiple threads concurrently, while non-const methods continue
           to require exclusive access.
           Note that implementations may choose not to check required fields within
           a lazy sub-message.  That is, calling IsInitialized() on the outer message
           may return true even if the inner message has missing required fields.
           This is necessary because otherwise the inner message would have to be
           parsed in order to perform the check, defeating the purpose of lazy
           parsing.  An implementation which chooses not to check required fields
           must be consistent about it.  That is, for any particular sub-message, the
           implementation must either *always* check its required fields, or *never*
           check its required fields, regardless of whether or not the message has
           been parsed.

      `optional bool lazy = 5 [default = false];`
      Specified by:
        `getLazy` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### hasDeprecated

          public boolean hasDeprecated()

           Is this field deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for accessors, or it will be completely ignored; in the very least, this
           is a formalization for deprecating fields.

      `optional bool deprecated = 3 [default = false];`
      Specified by:
        `hasDeprecated` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getDeprecated

          public boolean getDeprecated()

           Is this field deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for accessors, or it will be completely ignored; in the very least, this
           is a formalization for deprecating fields.

      `optional bool deprecated = 3 [default = false];`
      Specified by:
        `getDeprecated` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### hasWeak

          public boolean hasWeak()

           For Google-internal migration only. Do not use.

      `optional bool weak = 10 [default = false];`
      Specified by:
        `hasWeak` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getWeak

          public boolean getWeak()

           For Google-internal migration only. Do not use.

      `optional bool weak = 10 [default = false];`
      Specified by:
        `getWeak` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getUninterpretedOptionList

          public java.util.List<DescriptorProtos.UninterpretedOption> getUninterpretedOptionList()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionList` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getUninterpretedOptionOrBuilderList

          public java.util.List<? extends DescriptorProtos.UninterpretedOptionOrBuilder> getUninterpretedOptionOrBuilderList()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionOrBuilderList` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getUninterpretedOptionCount

          public int getUninterpretedOptionCount()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionCount` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getUninterpretedOption

          public DescriptorProtos.UninterpretedOption getUninterpretedOption(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOption` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### getUninterpretedOptionOrBuilder

          public DescriptorProtos.UninterpretedOptionOrBuilder getUninterpretedOptionOrBuilder(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionOrBuilder` in interface `DescriptorProtos.FieldOptionsOrBuilder`

    - #### isInitialized

          public final boolean isInitialized()

      Description copied from interface: `MessageLiteOrBuilder`
      Returns true if all required fields in the message and all embedded messages are set, false otherwise.

      See also: `MessageOrBuilder.getInitializationErrorString()`

      Specified by:
        `isInitialized` in interface `MessageLiteOrBuilder`
      Overrides:
        `isInitialized` in class `GeneratedMessageV3.ExtendableMessage<DescriptorProtos.FieldOptions>`

    - #### writeTo

          public void writeTo(CodedOutputStream output)
                       throws java.io.IOException

      Description copied from interface: `MessageLite`
      Serializes the message and writes it to `output`. This does not flush or close the stream.
      Specified by:
        `writeTo` in interface `MessageLite`
      Overrides:
        `writeTo` in class `GeneratedMessageV3`
      Throws:
        `java.io.IOException`

    - #### getSerializedSize

          public int getSerializedSize()

      Description copied from interface: `MessageLite`
      Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that.
      Specified by:
        `getSerializedSize` in interface `MessageLite`
      Overrides:
        `getSerializedSize` in class `GeneratedMessageV3`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Description copied from interface: `Message`
      Compares the specified object with this message for equality. Returns `true` if the given object is a message of the same type (as defined by `getDescriptorForType()`) and has identical values for all of its fields. Subclasses must implement this; inheriting `Object.equals()` is incorrect.
      Specified by:
        `equals` in interface `Message`
      Overrides:
        `equals` in class `AbstractMessage`
      Parameters:
        `obj` - object to be compared for equality with this message
      Returns:
        `true` if the specified object is equal to this message

    - #### hashCode

          public int hashCode()

      Description copied from interface: `Message`
      Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheriting `Object.hashCode()` is incorrect.
      Specified by:
        `hashCode` in interface `Message`
      Overrides:
        `hashCode` in class `AbstractMessage`
      Returns:
        the hash code value for this message
      See Also:
        `Map.hashCode()`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(java.nio.ByteBuffer data)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(java.nio.ByteBuffer data,
                                                ExtensionRegistryLite extensionRegistry)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(ByteString data)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(ByteString data,
                                                ExtensionRegistryLite extensionRegistry)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(byte[] data)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(byte[] data,
                                                ExtensionRegistryLite extensionRegistry)
                                                         throws InvalidProtocolBufferException

      Throws:
        `InvalidProtocolBufferException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(java.io.InputStream input)
                                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(java.io.InputStream input,
                                                ExtensionRegistryLite extensionRegistry)
                                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseDelimitedFrom

          public static DescriptorProtos.FieldOptions parseDelimitedFrom(java.io.InputStream input)
                                                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseDelimitedFrom

          public static DescriptorProtos.FieldOptions parseDelimitedFrom(java.io.InputStream input,
                                                         ExtensionRegistryLite extensionRegistry)
                                                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(CodedInputStream input)
                                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFrom

          public static DescriptorProtos.FieldOptions parseFrom(CodedInputStream input,
                                                ExtensionRegistryLite extensionRegistry)
                                                         throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### newBuilderForType

          public DescriptorProtos.FieldOptions.Builder newBuilderForType()

      Description copied from interface: `MessageLite`
      Constructs a new builder for a message of the same type as this message.
      Specified by:
        `newBuilderForType` in interface `Message`
      Specified by:
        `newBuilderForType` in interface `MessageLite`

    - #### newBuilder

          public static DescriptorProtos.FieldOptions.Builder newBuilder()

    - #### newBuilder

          public static DescriptorProtos.FieldOptions.Builder newBuilder(DescriptorProtos.FieldOptions prototype)

    - #### toBuilder

          public DescriptorProtos.FieldOptions.Builder toBuilder()

      Description copied from interface: `MessageLite`
      Constructs a builder initialized with the current message. Use this to derive a new message from the current one.
      Specified by:
        `toBuilder` in interface `Message`
      Specified by:
        `toBuilder` in interface `MessageLite`

    - #### newBuilderForType

          protected DescriptorProtos.FieldOptions.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)

      Description copied from class: `GeneratedMessageV3`
      TODO(xiaofeng): remove this together with GeneratedMessageV3.BuilderParent.
      Specified by:
        `newBuilderForType` in class `GeneratedMessageV3`

    - #### getDefaultInstance

          public static DescriptorProtos.FieldOptions getDefaultInstance()

    - #### parser

          public static Parser<DescriptorProtos.FieldOptions> parser()

    - #### getParserForType

          public Parser<DescriptorProtos.FieldOptions> getParserForType()

      Description copied from interface: `MessageLite`
      Gets the parser for a message of the same type as this message.
      Specified by:
        `getParserForType` in interface `Message`
      Specified by:
        `getParserForType` in interface `MessageLite`
      Overrides:
        `getParserForType` in class `GeneratedMessageV3`

    - #### getDefaultInstanceForType

          public DescriptorProtos.FieldOptions getDefaultInstanceForType()

      Description copied from interface: `MessageLiteOrBuilder`
      Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the `getDefaultInstance()` method of generated message classes in that this method is an abstract method of the `MessageLite` interface whereas `getDefaultInstance()` is a static method of a specific class. They return the same thing.
      Specified by:
        `getDefaultInstanceForType` in interface `GeneratedMessageV3.ExtendableMessageOrBuilder<DescriptorProtos.FieldOptions>`
      Specified by:
        `getDefaultInstanceForType` in interface `MessageLiteOrBuilder`
      Specified by:
        `getDefaultInstanceForType` in interface `MessageOrBuilder`