DescriptorProtos.FieldOptions.Builder
Date: 2017-07-08

com.google.protobuf

## Class DescriptorProtos.FieldOptions.Builder

- java.lang.Object
- - com.google.protobuf.AbstractMessageLite.Builder
  - - com.google.protobuf.AbstractMessage.Builder<BuilderType>
    - - com.google.protobuf.GeneratedMessageV3.Builder<BuilderType>
      - - com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>
        - - com.google.protobuf.DescriptorProtos.FieldOptions.Builder

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

      public static final class DescriptorProtos.FieldOptions.Builder
      extends GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>
      implements DescriptorProtos.FieldOptionsOrBuilder

  Protobuf type `google.protobuf.FieldOptions`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DescriptorProtos.FieldOptions.Builder` | `addAllUninterpretedOption(java.lang.Iterable<? extends DescriptorProtos.UninterpretedOption> values)` The parser stores options it doesn't recognize here.
    `<Type> DescriptorProtos.FieldOptions.Builder` | `addExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,java.util.List<Type>> extension, Type value)` Append a value to a repeated extension.
    `DescriptorProtos.FieldOptions.Builder` | `addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)` Like `setRepeatedField`, but appends the value as a new element.
    `DescriptorProtos.FieldOptions.Builder` | `addUninterpretedOption(DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `addUninterpretedOption(DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `addUninterpretedOption(int index, DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `addUninterpretedOption(int index, DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `addUninterpretedOptionBuilder()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `addUninterpretedOptionBuilder(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions` | `build()` Constructs the message based on the state of the Builder.
    `DescriptorProtos.FieldOptions` | `buildPartial()` Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields.
    `DescriptorProtos.FieldOptions.Builder` | `clear()` Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
    `DescriptorProtos.FieldOptions.Builder` | `clearCtype()` The ctype option instructs the C++ code generator to use a different representation of the field than it normally would.
    `DescriptorProtos.FieldOptions.Builder` | `clearDeprecated()` 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.
    `<Type> DescriptorProtos.FieldOptions.Builder` | `clearExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,?> extension)` Clear an extension.
    `DescriptorProtos.FieldOptions.Builder` | `clearField(Descriptors.FieldDescriptor field)` Clears the field.
    `DescriptorProtos.FieldOptions.Builder` | `clearJstype()` The jstype option determines the JavaScript type used for values of the field.
    `DescriptorProtos.FieldOptions.Builder` | `clearLazy()` Should this field be parsed lazily? Lazy applies only to message-type fields.
    `DescriptorProtos.FieldOptions.Builder` | `clearOneof(Descriptors.OneofDescriptor oneof)` TODO(jieluo): Clear it when all subclasses have implemented this method.
    `DescriptorProtos.FieldOptions.Builder` | `clearPacked()` The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire.
    `DescriptorProtos.FieldOptions.Builder` | `clearUninterpretedOption()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `clearWeak()` For Google-internal migration only.
    `DescriptorProtos.FieldOptions.Builder` | `clone()` Clones the Builder.
    `DescriptorProtos.FieldOptions.CType` | `getCtype()` The ctype option instructs the C++ code generator to use a different representation of the field than it normally would.
    `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()`
    `Descriptors.Descriptor` | `getDescriptorForType()` Get the message's type's descriptor.
    `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.
    `DescriptorProtos.UninterpretedOption` | `getUninterpretedOption(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `getUninterpretedOptionBuilder(int index)` The parser stores options it doesn't recognize here.
    `java.util.List<DescriptorProtos.UninterpretedOption.Builder>` | `getUninterpretedOptionBuilderList()` 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.
    `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.
    `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.
    `DescriptorProtos.FieldOptions.Builder` | `mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)` Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions.
    `DescriptorProtos.FieldOptions.Builder` | `mergeFrom(DescriptorProtos.FieldOptions other)`
    `DescriptorProtos.FieldOptions.Builder` | `mergeFrom(Message other)` Merge `other` into the message being built.
    `DescriptorProtos.FieldOptions.Builder` | `mergeUnknownFields(UnknownFieldSet unknownFields)` Merge some unknown fields into the `UnknownFieldSet` for this message.
    `DescriptorProtos.FieldOptions.Builder` | `removeUninterpretedOption(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `setCtype(DescriptorProtos.FieldOptions.CType value)` The ctype option instructs the C++ code generator to use a different representation of the field than it normally would.
    `DescriptorProtos.FieldOptions.Builder` | `setDeprecated(boolean value)` 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.
    `<Type> DescriptorProtos.FieldOptions.Builder` | `setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,java.util.List<Type>> extension, int index, Type value)` Set the value of one element of a repeated extension.
    `<Type> DescriptorProtos.FieldOptions.Builder` | `setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,Type> extension, Type value)` Set the value of an extension.
    `DescriptorProtos.FieldOptions.Builder` | `setField(Descriptors.FieldDescriptor field, java.lang.Object value)` Sets a field to the given value.
    `DescriptorProtos.FieldOptions.Builder` | `setJstype(DescriptorProtos.FieldOptions.JSType value)` The jstype option determines the JavaScript type used for values of the field.
    `DescriptorProtos.FieldOptions.Builder` | `setLazy(boolean value)` Should this field be parsed lazily? Lazy applies only to message-type fields.
    `DescriptorProtos.FieldOptions.Builder` | `setPacked(boolean value)` The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire.
    `DescriptorProtos.FieldOptions.Builder` | `setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)` Sets an element of a repeated field to the given value.
    `DescriptorProtos.FieldOptions.Builder` | `setUninterpretedOption(int index, DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `setUninterpretedOption(int index, DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.FieldOptions.Builder` | `setUnknownFields(UnknownFieldSet unknownFields)` Set the `UnknownFieldSet` for this message.
    `DescriptorProtos.FieldOptions.Builder` | `setWeak(boolean value)` For Google-internal migration only.

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

      `addExtension, addExtension, clearExtension, clearExtension, extensionsAreInitialized, getAllFields, getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasExtension, hasExtension, hasField, mergeExtensionFields, parseUnknownField, setExtension, setExtension, setExtension, setExtension`

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

      `getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedFieldBuilder, getUnknownFields, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged`

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

      `findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString`

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

      `addAll, mergeFrom, newUninitializedMessageException`

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

      `equals, finalize, getClass, hashCode, 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, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

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

      `mergeFrom`

- - ### Method Detail

    - #### getDescriptor

          public static final Descriptors.Descriptor getDescriptor()

    - #### internalGetFieldAccessorTable

          protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()

      Description copied from class: `GeneratedMessageV3.Builder`
      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.Builder<DescriptorProtos.FieldOptions.Builder>`

    - #### clear

          public DescriptorProtos.FieldOptions.Builder clear()

      Description copied from class: `GeneratedMessageV3.Builder`
      Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
      Specified by:
        `clear` in interface `Message.Builder`
      Specified by:
        `clear` in interface `MessageLite.Builder`
      Overrides:
        `clear` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### getDescriptorForType

          public Descriptors.Descriptor getDescriptorForType()

      Description copied from interface: `Message.Builder`
      Get the message's type's descriptor. See `MessageOrBuilder.getDescriptorForType()`.
      Specified by:
        `getDescriptorForType` in interface `Message.Builder`
      Specified by:
        `getDescriptorForType` in interface `MessageOrBuilder`
      Overrides:
        `getDescriptorForType` in class `GeneratedMessageV3.Builder<DescriptorProtos.FieldOptions.Builder>`

    - #### 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`

    - #### build

          public DescriptorProtos.FieldOptions build()

      Description copied from interface: `MessageLite.Builder`
      Constructs the message based on the state of the Builder. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
        `build` in interface `Message.Builder`
      Specified by:
        `build` in interface `MessageLite.Builder`

    - #### buildPartial

          public DescriptorProtos.FieldOptions buildPartial()

      Description copied from interface: `MessageLite.Builder`
      Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields. Instead, a partial message is returned. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
        `buildPartial` in interface `Message.Builder`
      Specified by:
        `buildPartial` in interface `MessageLite.Builder`

    - #### clone

          public DescriptorProtos.FieldOptions.Builder clone()

      Description copied from interface: `MessageLite.Builder`
      Clones the Builder.
      Specified by:
        `clone` in interface `Message.Builder`
      Specified by:
        `clone` in interface `MessageLite.Builder`
      Overrides:
        `clone` in class `GeneratedMessageV3.Builder<DescriptorProtos.FieldOptions.Builder>`
      See Also:
        `Object.clone()`

    - #### setField

          public DescriptorProtos.FieldOptions.Builder setField(Descriptors.FieldDescriptor field,
                                                       java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Sets a field to the given value. The value must be of the correct type for this field, i.e. the same type that `MessageOrBuilder.getField(Descriptors.FieldDescriptor)` would return.
      Specified by:
        `setField` in interface `Message.Builder`
      Overrides:
        `setField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### clearField

          public DescriptorProtos.FieldOptions.Builder clearField(Descriptors.FieldDescriptor field)

      Description copied from interface: `Message.Builder`
      Clears the field. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the field.
      Specified by:
        `clearField` in interface `Message.Builder`
      Overrides:
        `clearField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### clearOneof

          public DescriptorProtos.FieldOptions.Builder clearOneof(Descriptors.OneofDescriptor oneof)

      Description copied from class: `AbstractMessage.Builder`
      TODO(jieluo): Clear it when all subclasses have implemented this method.
      Specified by:
        `clearOneof` in interface `Message.Builder`
      Overrides:
        `clearOneof` in class `GeneratedMessageV3.Builder<DescriptorProtos.FieldOptions.Builder>`

    - #### setRepeatedField

          public DescriptorProtos.FieldOptions.Builder setRepeatedField(Descriptors.FieldDescriptor field,
                                                               int index,
                                                               java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Sets an element of a repeated field to the given value. The value must be of the correct type for this field, i.e. the same type that `MessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor,int)` would return.
      Specified by:
        `setRepeatedField` in interface `Message.Builder`
      Overrides:
        `setRepeatedField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### addRepeatedField

          public DescriptorProtos.FieldOptions.Builder addRepeatedField(Descriptors.FieldDescriptor field,
                                                               java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Like `setRepeatedField`, but appends the value as a new element.
      Specified by:
        `addRepeatedField` in interface `Message.Builder`
      Overrides:
        `addRepeatedField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### setExtension

          public <Type> DescriptorProtos.FieldOptions.Builder setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,Type> extension,
                                                                  Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Set the value of an extension.
      Overrides:
        `setExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### setExtension

          public <Type> DescriptorProtos.FieldOptions.Builder setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,java.util.List<Type>> extension,
                                                                  int index,
                                                                  Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Set the value of one element of a repeated extension.
      Overrides:
        `setExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### addExtension

          public <Type> DescriptorProtos.FieldOptions.Builder addExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,java.util.List<Type>> extension,
                                                                  Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Append a value to a repeated extension.
      Overrides:
        `addExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### clearExtension

          public <Type> DescriptorProtos.FieldOptions.Builder clearExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.FieldOptions,?> extension)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Clear an extension.
      Overrides:
        `clearExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldOptions.Builder mergeFrom(Message other)

      Description copied from interface: `Message.Builder`
      Merge `other` into the message being built. `other` must have the exact same type as `this` (i.e. `getDescriptorForType() == other.getDescriptorForType()`). Merging occurs as follows. For each field:
      * For singular primitive fields, if the field is set in `other`, then `other`'s value overwrites the value in this message.
      * For singular message fields, if the field is set in `other`, it is merged into the corresponding sub-message of this message using the same merging rules.
      * For repeated fields, the elements in `other` are concatenated with the elements in this message. * For oneof groups, if the other message has one of the fields set, the group of this message is cleared and replaced by the field of the other message, so that the oneof constraint is preserved. This is equivalent to the `Message::MergeFrom` method in C++.
      Specified by:
        `mergeFrom` in interface `Message.Builder`
      Overrides:
        `mergeFrom` in class `AbstractMessage.Builder<DescriptorProtos.FieldOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldOptions.Builder mergeFrom(DescriptorProtos.FieldOptions other)

    - #### 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.ExtendableBuilder<DescriptorProtos.FieldOptions,DescriptorProtos.FieldOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldOptions.Builder mergeFrom(CodedInputStream input,
                                                        ExtensionRegistryLite extensionRegistry)
                                                          throws java.io.IOException

      Description copied from interface: `MessageLite.Builder`
      Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions. The extensions that you want to be able to parse must be registered in `extensionRegistry`. Extensions not in the registry will be treated as unknown fields.
      Specified by:
        `mergeFrom` in interface `Message.Builder`
      Specified by:
        `mergeFrom` in interface `MessageLite.Builder`
      Overrides:
        `mergeFrom` in class `AbstractMessage.Builder<DescriptorProtos.FieldOptions.Builder>`
      Throws:
        `java.io.IOException`

    - #### 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`

    - #### setCtype

          public DescriptorProtos.FieldOptions.Builder setCtype(DescriptorProtos.FieldOptions.CType value)

           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];`

    - #### clearCtype

          public DescriptorProtos.FieldOptions.Builder clearCtype()

           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];`

    - #### 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`

    - #### setPacked

          public DescriptorProtos.FieldOptions.Builder setPacked(boolean value)

           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;`

    - #### clearPacked

          public DescriptorProtos.FieldOptions.Builder clearPacked()

           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;`

    - #### 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`

    - #### setJstype

          public DescriptorProtos.FieldOptions.Builder setJstype(DescriptorProtos.FieldOptions.JSType value)

           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];`

    - #### clearJstype

          public DescriptorProtos.FieldOptions.Builder clearJstype()

           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];`

    - #### 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`

    - #### setLazy

          public DescriptorProtos.FieldOptions.Builder setLazy(boolean value)

           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];`

    - #### clearLazy

          public DescriptorProtos.FieldOptions.Builder clearLazy()

           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];`

    - #### 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`

    - #### setDeprecated

          public DescriptorProtos.FieldOptions.Builder setDeprecated(boolean value)

           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];`

    - #### clearDeprecated

          public DescriptorProtos.FieldOptions.Builder clearDeprecated()

           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];`

    - #### 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`

    - #### setWeak

          public DescriptorProtos.FieldOptions.Builder setWeak(boolean value)

           For Google-internal migration only. Do not use.

      `optional bool weak = 10 [default = false];`

    - #### clearWeak

          public DescriptorProtos.FieldOptions.Builder clearWeak()

           For Google-internal migration only. Do not use.

      `optional bool weak = 10 [default = false];`

    - #### 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`

    - #### 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`

    - #### setUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder setUninterpretedOption(int index,
                                                                     DescriptorProtos.UninterpretedOption value)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### setUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder setUninterpretedOption(int index,
                                                                     DescriptorProtos.UninterpretedOption.Builder builderForValue)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder addUninterpretedOption(DescriptorProtos.UninterpretedOption value)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder addUninterpretedOption(int index,
                                                                     DescriptorProtos.UninterpretedOption value)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder addUninterpretedOption(DescriptorProtos.UninterpretedOption.Builder builderForValue)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder addUninterpretedOption(int index,
                                                                     DescriptorProtos.UninterpretedOption.Builder builderForValue)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addAllUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder addAllUninterpretedOption(java.lang.Iterable<? extends DescriptorProtos.UninterpretedOption> values)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### clearUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder clearUninterpretedOption()

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### removeUninterpretedOption

          public DescriptorProtos.FieldOptions.Builder removeUninterpretedOption(int index)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### getUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder getUninterpretedOptionBuilder(int index)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### 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`

    - #### 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`

    - #### addUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder addUninterpretedOptionBuilder()

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder addUninterpretedOptionBuilder(int index)

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### getUninterpretedOptionBuilderList

          public java.util.List<DescriptorProtos.UninterpretedOption.Builder> getUninterpretedOptionBuilderList()

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

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### setUnknownFields

          public final DescriptorProtos.FieldOptions.Builder setUnknownFields(UnknownFieldSet unknownFields)

      Description copied from interface: `Message.Builder`
      Set the `UnknownFieldSet` for this message.
      Specified by:
        `setUnknownFields` in interface `Message.Builder`
      Overrides:
        `setUnknownFields` in class `GeneratedMessageV3.Builder<DescriptorProtos.FieldOptions.Builder>`

    - #### mergeUnknownFields

          public final DescriptorProtos.FieldOptions.Builder mergeUnknownFields(UnknownFieldSet unknownFields)

      Description copied from interface: `Message.Builder`
      Merge some unknown fields into the `UnknownFieldSet` for this message.
      Specified by:
        `mergeUnknownFields` in interface `Message.Builder`
      Overrides:
        `mergeUnknownFields` in class `GeneratedMessageV3.Builder<DescriptorProtos.FieldOptions.Builder>`