com.google.protobuf

## Class DescriptorProtos.FieldDescriptorProto.Builder

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

- All Implemented Interfaces:
    DescriptorProtos.FieldDescriptorProtoOrBuilder, Message.Builder, MessageLite.Builder, MessageLiteOrBuilder, MessageOrBuilder, java.lang.Cloneable
  Enclosing class:
    DescriptorProtos.FieldDescriptorProto

      public static final class DescriptorProtos.FieldDescriptorProto.Builder
      extends GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
      implements DescriptorProtos.FieldDescriptorProtoOrBuilder

       Describes a field within a message.

  Protobuf type `google.protobuf.FieldDescriptorProto`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DescriptorProtos.FieldDescriptorProto.Builder` | `addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)` Like `setRepeatedField`, but appends the value as a new element.
    `DescriptorProtos.FieldDescriptorProto` | `build()` Constructs the message based on the state of the Builder.
    `DescriptorProtos.FieldDescriptorProto` | `buildPartial()` Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields.
    `DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder` | `clearDefaultValue()` For numeric types, contains the original text representation of the value.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearExtendee()` For extensions, this is the name of the type being extended.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearField(Descriptors.FieldDescriptor field)` Clears the field.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearJsonName()` JSON name of this field.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearLabel()` `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearName()` `optional string name = 1;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearNumber()` `optional int32 number = 3;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearOneof(Descriptors.OneofDescriptor oneof)` TODO(jieluo): Clear it when all subclasses have implemented this method.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearOneofIndex()` If set, gives the index of a oneof in the containing type's oneof_decl list.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearOptions()` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearType()` If type_name is set, this need not be set.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clearTypeName()` For message and enum types, this is the name of the type.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `clone()` Clones the Builder.
    `DescriptorProtos.FieldDescriptorProto` | `getDefaultInstanceForType()` Get an instance of the type with no fields set.
    `java.lang.String` | `getDefaultValue()` For numeric types, contains the original text representation of the value.
    `ByteString` | `getDefaultValueBytes()` For numeric types, contains the original text representation of the value.
    `static Descriptors.Descriptor` | `getDescriptor()`
    `Descriptors.Descriptor` | `getDescriptorForType()` Get the message's type's descriptor.
    `java.lang.String` | `getExtendee()` For extensions, this is the name of the type being extended.
    `ByteString` | `getExtendeeBytes()` For extensions, this is the name of the type being extended.
    `java.lang.String` | `getJsonName()` JSON name of this field.
    `ByteString` | `getJsonNameBytes()` JSON name of this field.
    `DescriptorProtos.FieldDescriptorProto.Label` | `getLabel()` `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
    `java.lang.String` | `getName()` `optional string name = 1;`
    `ByteString` | `getNameBytes()` `optional string name = 1;`
    `int` | `getNumber()` `optional int32 number = 3;`
    `int` | `getOneofIndex()` If set, gives the index of a oneof in the containing type's oneof_decl list.
    `DescriptorProtos.FieldOptions` | `getOptions()` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldOptions.Builder` | `getOptionsBuilder()` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldOptionsOrBuilder` | `getOptionsOrBuilder()` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldDescriptorProto.Type` | `getType()` If type_name is set, this need not be set.
    `java.lang.String` | `getTypeName()` For message and enum types, this is the name of the type.
    `ByteString` | `getTypeNameBytes()` For message and enum types, this is the name of the type.
    `boolean` | `hasDefaultValue()` For numeric types, contains the original text representation of the value.
    `boolean` | `hasExtendee()` For extensions, this is the name of the type being extended.
    `boolean` | `hasJsonName()` JSON name of this field.
    `boolean` | `hasLabel()` `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
    `boolean` | `hasName()` `optional string name = 1;`
    `boolean` | `hasNumber()` `optional int32 number = 3;`
    `boolean` | `hasOneofIndex()` If set, gives the index of a oneof in the containing type's oneof_decl list.
    `boolean` | `hasOptions()` `optional .google.protobuf.FieldOptions options = 8;`
    `boolean` | `hasType()` If type_name is set, this need not be set.
    `boolean` | `hasTypeName()` For message and enum types, this is the name of the type.
    `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.FieldDescriptorProto.Builder` | `mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)` Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `mergeFrom(DescriptorProtos.FieldDescriptorProto other)`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `mergeFrom(Message other)` Merge `other` into the message being built.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `mergeOptions(DescriptorProtos.FieldOptions value)` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `mergeUnknownFields(UnknownFieldSet unknownFields)` Merge some unknown fields into the `UnknownFieldSet` for this message.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setDefaultValue(java.lang.String value)` For numeric types, contains the original text representation of the value.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setDefaultValueBytes(ByteString value)` For numeric types, contains the original text representation of the value.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setExtendee(java.lang.String value)` For extensions, this is the name of the type being extended.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setExtendeeBytes(ByteString value)` For extensions, this is the name of the type being extended.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setField(Descriptors.FieldDescriptor field, java.lang.Object value)` Sets a field to the given value.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setJsonName(java.lang.String value)` JSON name of this field.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setJsonNameBytes(ByteString value)` JSON name of this field.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setLabel(DescriptorProtos.FieldDescriptorProto.Label value)` `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setName(java.lang.String value)` `optional string name = 1;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setNameBytes(ByteString value)` `optional string name = 1;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setNumber(int value)` `optional int32 number = 3;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setOneofIndex(int value)` If set, gives the index of a oneof in the containing type's oneof_decl list.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setOptions(DescriptorProtos.FieldOptions.Builder builderForValue)` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setOptions(DescriptorProtos.FieldOptions value)` `optional .google.protobuf.FieldOptions options = 8;`
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)` Sets an element of a repeated field to the given value.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setType(DescriptorProtos.FieldDescriptorProto.Type value)` If type_name is set, this need not be set.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setTypeName(java.lang.String value)` For message and enum types, this is the name of the type.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setTypeNameBytes(ByteString value)` For message and enum types, this is the name of the type.
    `DescriptorProtos.FieldDescriptorProto.Builder` | `setUnknownFields(UnknownFieldSet unknownFields)` Set the `UnknownFieldSet` for this message.

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

      `getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, parseUnknownField`

    - ### 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.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.FieldDescriptorProto.Builder>`

    - #### clear

          public DescriptorProtos.FieldDescriptorProto.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.Builder<DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`

    - #### getDefaultInstanceForType

          public DescriptorProtos.FieldDescriptorProto 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 `MessageLiteOrBuilder`
      Specified by:
        `getDefaultInstanceForType` in interface `MessageOrBuilder`

    - #### build

          public DescriptorProtos.FieldDescriptorProto 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.FieldDescriptorProto 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.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`
      See Also:
        `Object.clone()`

    - #### setField

          public DescriptorProtos.FieldDescriptorProto.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.Builder<DescriptorProtos.FieldDescriptorProto.Builder>`

    - #### clearField

          public DescriptorProtos.FieldDescriptorProto.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.Builder<DescriptorProtos.FieldDescriptorProto.Builder>`

    - #### clearOneof

          public DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`

    - #### setRepeatedField

          public DescriptorProtos.FieldDescriptorProto.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.Builder<DescriptorProtos.FieldDescriptorProto.Builder>`

    - #### addRepeatedField

          public DescriptorProtos.FieldDescriptorProto.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.Builder<DescriptorProtos.FieldDescriptorProto.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldDescriptorProto.Builder mergeFrom(DescriptorProtos.FieldDescriptorProto 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.Builder<DescriptorProtos.FieldDescriptorProto.Builder>`

    - #### mergeFrom

          public DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`
      Throws:
        `java.io.IOException`

    - #### hasName

          public boolean hasName()

      `optional string name = 1;`
      Specified by:
        `hasName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getName

          public java.lang.String getName()

      `optional string name = 1;`
      Specified by:
        `getName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getNameBytes

          public ByteString getNameBytes()

      `optional string name = 1;`
      Specified by:
        `getNameBytes` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setName

          public DescriptorProtos.FieldDescriptorProto.Builder setName(java.lang.String value)

      `optional string name = 1;`

    - #### clearName

          public DescriptorProtos.FieldDescriptorProto.Builder clearName()

      `optional string name = 1;`

    - #### setNameBytes

          public DescriptorProtos.FieldDescriptorProto.Builder setNameBytes(ByteString value)

      `optional string name = 1;`

    - #### hasNumber

          public boolean hasNumber()

      `optional int32 number = 3;`
      Specified by:
        `hasNumber` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getNumber

          public int getNumber()

      `optional int32 number = 3;`
      Specified by:
        `getNumber` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setNumber

          public DescriptorProtos.FieldDescriptorProto.Builder setNumber(int value)

      `optional int32 number = 3;`

    - #### clearNumber

          public DescriptorProtos.FieldDescriptorProto.Builder clearNumber()

      `optional int32 number = 3;`

    - #### hasLabel

          public boolean hasLabel()

      `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
      Specified by:
        `hasLabel` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getLabel

          public DescriptorProtos.FieldDescriptorProto.Label getLabel()

      `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`
      Specified by:
        `getLabel` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setLabel

          public DescriptorProtos.FieldDescriptorProto.Builder setLabel(DescriptorProtos.FieldDescriptorProto.Label value)

      `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`

    - #### clearLabel

          public DescriptorProtos.FieldDescriptorProto.Builder clearLabel()

      `optional .google.protobuf.FieldDescriptorProto.Label label = 4;`

    - #### hasType

          public boolean hasType()

           If type_name is set, this need not be set.  If both this and type_name
           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

      `optional .google.protobuf.FieldDescriptorProto.Type type = 5;`
      Specified by:
        `hasType` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getType

          public DescriptorProtos.FieldDescriptorProto.Type getType()

           If type_name is set, this need not be set.  If both this and type_name
           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

      `optional .google.protobuf.FieldDescriptorProto.Type type = 5;`
      Specified by:
        `getType` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setType

          public DescriptorProtos.FieldDescriptorProto.Builder setType(DescriptorProtos.FieldDescriptorProto.Type value)

           If type_name is set, this need not be set.  If both this and type_name
           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

      `optional .google.protobuf.FieldDescriptorProto.Type type = 5;`

    - #### clearType

          public DescriptorProtos.FieldDescriptorProto.Builder clearType()

           If type_name is set, this need not be set.  If both this and type_name
           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

      `optional .google.protobuf.FieldDescriptorProto.Type type = 5;`

    - #### hasTypeName

          public boolean hasTypeName()

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`
      Specified by:
        `hasTypeName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getTypeName

          public java.lang.String getTypeName()

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`
      Specified by:
        `getTypeName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getTypeNameBytes

          public ByteString getTypeNameBytes()

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`
      Specified by:
        `getTypeNameBytes` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setTypeName

          public DescriptorProtos.FieldDescriptorProto.Builder setTypeName(java.lang.String value)

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`

    - #### clearTypeName

          public DescriptorProtos.FieldDescriptorProto.Builder clearTypeName()

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`

    - #### setTypeNameBytes

          public DescriptorProtos.FieldDescriptorProto.Builder setTypeNameBytes(ByteString value)

           For message and enum types, this is the name of the type.  If the name
           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
           rules are used to find the type (i.e. first the nested types within this
           message are searched, then within the parent, on up to the root
           namespace).

      `optional string type_name = 6;`

    - #### hasExtendee

          public boolean hasExtendee()

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`
      Specified by:
        `hasExtendee` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getExtendee

          public java.lang.String getExtendee()

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`
      Specified by:
        `getExtendee` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getExtendeeBytes

          public ByteString getExtendeeBytes()

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`
      Specified by:
        `getExtendeeBytes` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setExtendee

          public DescriptorProtos.FieldDescriptorProto.Builder setExtendee(java.lang.String value)

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`

    - #### clearExtendee

          public DescriptorProtos.FieldDescriptorProto.Builder clearExtendee()

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`

    - #### setExtendeeBytes

          public DescriptorProtos.FieldDescriptorProto.Builder setExtendeeBytes(ByteString value)

           For extensions, this is the name of the type being extended.  It is
           resolved in the same manner as type_name.

      `optional string extendee = 2;`

    - #### hasDefaultValue

          public boolean hasDefaultValue()

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`
      Specified by:
        `hasDefaultValue` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getDefaultValue

          public java.lang.String getDefaultValue()

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`
      Specified by:
        `getDefaultValue` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getDefaultValueBytes

          public ByteString getDefaultValueBytes()

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`
      Specified by:
        `getDefaultValueBytes` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setDefaultValue

          public DescriptorProtos.FieldDescriptorProto.Builder setDefaultValue(java.lang.String value)

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`

    - #### clearDefaultValue

          public DescriptorProtos.FieldDescriptorProto.Builder clearDefaultValue()

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`

    - #### setDefaultValueBytes

          public DescriptorProtos.FieldDescriptorProto.Builder setDefaultValueBytes(ByteString value)

           For numeric types, contains the original text representation of the value.
           For booleans, "true" or "false".
           For strings, contains the default text contents (not escaped in any way).
           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
           TODO(kenton):  Base-64 encode?

      `optional string default_value = 7;`

    - #### hasOneofIndex

          public boolean hasOneofIndex()

           If set, gives the index of a oneof in the containing type's oneof_decl
           list.  This field is a member of that oneof.

      `optional int32 oneof_index = 9;`
      Specified by:
        `hasOneofIndex` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getOneofIndex

          public int getOneofIndex()

           If set, gives the index of a oneof in the containing type's oneof_decl
           list.  This field is a member of that oneof.

      `optional int32 oneof_index = 9;`
      Specified by:
        `getOneofIndex` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setOneofIndex

          public DescriptorProtos.FieldDescriptorProto.Builder setOneofIndex(int value)

           If set, gives the index of a oneof in the containing type's oneof_decl
           list.  This field is a member of that oneof.

      `optional int32 oneof_index = 9;`

    - #### clearOneofIndex

          public DescriptorProtos.FieldDescriptorProto.Builder clearOneofIndex()

           If set, gives the index of a oneof in the containing type's oneof_decl
           list.  This field is a member of that oneof.

      `optional int32 oneof_index = 9;`

    - #### hasJsonName

          public boolean hasJsonName()

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`
      Specified by:
        `hasJsonName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getJsonName

          public java.lang.String getJsonName()

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`
      Specified by:
        `getJsonName` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getJsonNameBytes

          public ByteString getJsonNameBytes()

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`
      Specified by:
        `getJsonNameBytes` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setJsonName

          public DescriptorProtos.FieldDescriptorProto.Builder setJsonName(java.lang.String value)

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`

    - #### clearJsonName

          public DescriptorProtos.FieldDescriptorProto.Builder clearJsonName()

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`

    - #### setJsonNameBytes

          public DescriptorProtos.FieldDescriptorProto.Builder setJsonNameBytes(ByteString value)

           JSON name of this field. The value is set by protocol compiler. If the
           user has set a "json_name" option on this field, that option's value
           will be used. Otherwise, it's deduced from the field's name by converting
           it to camelCase.

      `optional string json_name = 10;`

    - #### hasOptions

          public boolean hasOptions()

      `optional .google.protobuf.FieldOptions options = 8;`
      Specified by:
        `hasOptions` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### getOptions

          public DescriptorProtos.FieldOptions getOptions()

      `optional .google.protobuf.FieldOptions options = 8;`
      Specified by:
        `getOptions` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setOptions

          public DescriptorProtos.FieldDescriptorProto.Builder setOptions(DescriptorProtos.FieldOptions value)

      `optional .google.protobuf.FieldOptions options = 8;`

    - #### setOptions

          public DescriptorProtos.FieldDescriptorProto.Builder setOptions(DescriptorProtos.FieldOptions.Builder builderForValue)

      `optional .google.protobuf.FieldOptions options = 8;`

    - #### mergeOptions

          public DescriptorProtos.FieldDescriptorProto.Builder mergeOptions(DescriptorProtos.FieldOptions value)

      `optional .google.protobuf.FieldOptions options = 8;`

    - #### clearOptions

          public DescriptorProtos.FieldDescriptorProto.Builder clearOptions()

      `optional .google.protobuf.FieldOptions options = 8;`

    - #### getOptionsBuilder

          public DescriptorProtos.FieldOptions.Builder getOptionsBuilder()

      `optional .google.protobuf.FieldOptions options = 8;`

    - #### getOptionsOrBuilder

          public DescriptorProtos.FieldOptionsOrBuilder getOptionsOrBuilder()

      `optional .google.protobuf.FieldOptions options = 8;`
      Specified by:
        `getOptionsOrBuilder` in interface `DescriptorProtos.FieldDescriptorProtoOrBuilder`

    - #### setUnknownFields

          public final DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`

    - #### mergeUnknownFields

          public final DescriptorProtos.FieldDescriptorProto.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.FieldDescriptorProto.Builder>`