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, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
DescriptorProtos.FieldDescriptorProto

public static final class DescriptorProtos.FieldDescriptorProto.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder> implements DescriptorProtos.FieldDescriptorProtoOrBuilder
 Describes a field within a message.
 
Protobuf type google.protobuf.FieldDescriptorProto
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • getDefaultInstanceForType

      public DescriptorProtos.FieldDescriptorProto getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • setField

      public DescriptorProtos.FieldDescriptorProto.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • clearField

      public DescriptorProtos.FieldDescriptorProto.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • clearOneof

      public DescriptorProtos.FieldDescriptorProto.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • setRepeatedField

      public DescriptorProtos.FieldDescriptorProto.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • addRepeatedField

      public DescriptorProtos.FieldDescriptorProto.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • mergeFrom

      public DescriptorProtos.FieldDescriptorProto.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • mergeFrom

      public DescriptorProtos.FieldDescriptorProto.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
      Throws:
      IOException
    • hasName

      public boolean hasName()
      optional string name = 1;
      Specified by:
      hasName in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      Whether the name field is set.
    • getName

      public String getName()
      optional string name = 1;
      Specified by:
      getName in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
      optional string name = 1;
      Specified by:
      getNameBytes in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The bytes for name.
    • setName

      optional string name = 1;
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      optional string name = 1;
      Returns:
      This builder for chaining.
    • setNameBytes

      public DescriptorProtos.FieldDescriptorProto.Builder setNameBytes(com.google.protobuf.ByteString value)
      optional string name = 1;
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • hasNumber

      public boolean hasNumber()
      optional int32 number = 3;
      Specified by:
      hasNumber in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      Whether the number field is set.
    • getNumber

      public int getNumber()
      optional int32 number = 3;
      Specified by:
      getNumber in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The number.
    • setNumber

      public DescriptorProtos.FieldDescriptorProto.Builder setNumber(int value)
      optional int32 number = 3;
      Parameters:
      value - The number to set.
      Returns:
      This builder for chaining.
    • clearNumber

      optional int32 number = 3;
      Returns:
      This builder for chaining.
    • hasLabel

      public boolean hasLabel()
      optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      Specified by:
      hasLabel in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      Whether the label field is set.
    • getLabel

      optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      Specified by:
      getLabel in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The label.
    • setLabel

      optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      Parameters:
      value - The label to set.
      Returns:
      This builder for chaining.
    • clearLabel

      optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the type field is set.
    • 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
      Returns:
      The type.
    • setType

       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;
      Parameters:
      value - The type to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the typeName field is set.
    • getTypeName

      public 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
      Returns:
      The typeName.
    • getTypeNameBytes

      public com.google.protobuf.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
      Returns:
      The bytes for typeName.
    • setTypeName

       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;
      Parameters:
      value - The typeName to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • setTypeNameBytes

      public DescriptorProtos.FieldDescriptorProto.Builder setTypeNameBytes(com.google.protobuf.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;
      Parameters:
      value - The bytes for typeName to set.
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the extendee field is set.
    • getExtendee

      public 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
      Returns:
      The extendee.
    • getExtendeeBytes

      public com.google.protobuf.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
      Returns:
      The bytes for extendee.
    • setExtendee

       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;
      Parameters:
      value - The extendee to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • setExtendeeBytes

      public DescriptorProtos.FieldDescriptorProto.Builder setExtendeeBytes(com.google.protobuf.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;
      Parameters:
      value - The bytes for extendee to set.
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the defaultValue field is set.
    • getDefaultValue

      public 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
      Returns:
      The defaultValue.
    • getDefaultValueBytes

      public com.google.protobuf.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
      Returns:
      The bytes for defaultValue.
    • setDefaultValue

      public DescriptorProtos.FieldDescriptorProto.Builder setDefaultValue(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;
      Parameters:
      value - The defaultValue to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • setDefaultValueBytes

      public DescriptorProtos.FieldDescriptorProto.Builder setDefaultValueBytes(com.google.protobuf.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;
      Parameters:
      value - The bytes for defaultValue to set.
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the oneofIndex field is set.
    • 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
      Returns:
      The oneofIndex.
    • 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;
      Parameters:
      value - The oneofIndex to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • 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
      Returns:
      Whether the jsonName field is set.
    • getJsonName

      public 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
      Returns:
      The jsonName.
    • getJsonNameBytes

      public com.google.protobuf.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
      Returns:
      The bytes for jsonName.
    • setJsonName

       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;
      Parameters:
      value - The jsonName to set.
      Returns:
      This builder for chaining.
    • 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;
      Returns:
      This builder for chaining.
    • setJsonNameBytes

      public DescriptorProtos.FieldDescriptorProto.Builder setJsonNameBytes(com.google.protobuf.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;
      Parameters:
      value - The bytes for jsonName to set.
      Returns:
      This builder for chaining.
    • hasOptions

      public boolean hasOptions()
      optional .google.protobuf.FieldOptions options = 8;
      Specified by:
      hasOptions in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      Whether the options field is set.
    • getOptions

      public DescriptorProtos.FieldOptions getOptions()
      optional .google.protobuf.FieldOptions options = 8;
      Specified by:
      getOptions in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The options.
    • setOptions

      optional .google.protobuf.FieldOptions options = 8;
    • setOptions

      optional .google.protobuf.FieldOptions options = 8;
    • mergeOptions

      optional .google.protobuf.FieldOptions options = 8;
    • 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
    • hasProto3Optional

      public boolean hasProto3Optional()
       If true, this is a proto3 "optional". When a proto3 field is optional, it
       tracks presence regardless of field type.
       When proto3_optional is true, this field must be belong to a oneof to
       signal to old proto3 clients that presence is tracked for this field. This
       oneof is known as a "synthetic" oneof, and this field must be its sole
       member (each proto3 optional field gets its own synthetic oneof). Synthetic
       oneofs exist in the descriptor only, and do not generate any API. Synthetic
       oneofs must be ordered after all "real" oneofs.
       For message fields, proto3_optional doesn't create any semantic change,
       since non-repeated message fields always track presence. However it still
       indicates the semantic detail of whether the user wrote "optional" or not.
       This can be useful for round-tripping the .proto file. For consistency we
       give message fields a synthetic oneof also, even though it is not required
       to track presence. This is especially important because the parser can't
       tell if a field is a message or an enum, so it must always create a
       synthetic oneof.
       Proto2 optional fields do not set this flag, because they already indicate
       optional with `LABEL_OPTIONAL`.
       
      optional bool proto3_optional = 17;
      Specified by:
      hasProto3Optional in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      Whether the proto3Optional field is set.
    • getProto3Optional

      public boolean getProto3Optional()
       If true, this is a proto3 "optional". When a proto3 field is optional, it
       tracks presence regardless of field type.
       When proto3_optional is true, this field must be belong to a oneof to
       signal to old proto3 clients that presence is tracked for this field. This
       oneof is known as a "synthetic" oneof, and this field must be its sole
       member (each proto3 optional field gets its own synthetic oneof). Synthetic
       oneofs exist in the descriptor only, and do not generate any API. Synthetic
       oneofs must be ordered after all "real" oneofs.
       For message fields, proto3_optional doesn't create any semantic change,
       since non-repeated message fields always track presence. However it still
       indicates the semantic detail of whether the user wrote "optional" or not.
       This can be useful for round-tripping the .proto file. For consistency we
       give message fields a synthetic oneof also, even though it is not required
       to track presence. This is especially important because the parser can't
       tell if a field is a message or an enum, so it must always create a
       synthetic oneof.
       Proto2 optional fields do not set this flag, because they already indicate
       optional with `LABEL_OPTIONAL`.
       
      optional bool proto3_optional = 17;
      Specified by:
      getProto3Optional in interface DescriptorProtos.FieldDescriptorProtoOrBuilder
      Returns:
      The proto3Optional.
    • setProto3Optional

      public DescriptorProtos.FieldDescriptorProto.Builder setProto3Optional(boolean value)
       If true, this is a proto3 "optional". When a proto3 field is optional, it
       tracks presence regardless of field type.
       When proto3_optional is true, this field must be belong to a oneof to
       signal to old proto3 clients that presence is tracked for this field. This
       oneof is known as a "synthetic" oneof, and this field must be its sole
       member (each proto3 optional field gets its own synthetic oneof). Synthetic
       oneofs exist in the descriptor only, and do not generate any API. Synthetic
       oneofs must be ordered after all "real" oneofs.
       For message fields, proto3_optional doesn't create any semantic change,
       since non-repeated message fields always track presence. However it still
       indicates the semantic detail of whether the user wrote "optional" or not.
       This can be useful for round-tripping the .proto file. For consistency we
       give message fields a synthetic oneof also, even though it is not required
       to track presence. This is especially important because the parser can't
       tell if a field is a message or an enum, so it must always create a
       synthetic oneof.
       Proto2 optional fields do not set this flag, because they already indicate
       optional with `LABEL_OPTIONAL`.
       
      optional bool proto3_optional = 17;
      Parameters:
      value - The proto3Optional to set.
      Returns:
      This builder for chaining.
    • clearProto3Optional

      public DescriptorProtos.FieldDescriptorProto.Builder clearProto3Optional()
       If true, this is a proto3 "optional". When a proto3 field is optional, it
       tracks presence regardless of field type.
       When proto3_optional is true, this field must be belong to a oneof to
       signal to old proto3 clients that presence is tracked for this field. This
       oneof is known as a "synthetic" oneof, and this field must be its sole
       member (each proto3 optional field gets its own synthetic oneof). Synthetic
       oneofs exist in the descriptor only, and do not generate any API. Synthetic
       oneofs must be ordered after all "real" oneofs.
       For message fields, proto3_optional doesn't create any semantic change,
       since non-repeated message fields always track presence. However it still
       indicates the semantic detail of whether the user wrote "optional" or not.
       This can be useful for round-tripping the .proto file. For consistency we
       give message fields a synthetic oneof also, even though it is not required
       to track presence. This is especially important because the parser can't
       tell if a field is a message or an enum, so it must always create a
       synthetic oneof.
       Proto2 optional fields do not set this flag, because they already indicate
       optional with `LABEL_OPTIONAL`.
       
      optional bool proto3_optional = 17;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final DescriptorProtos.FieldDescriptorProto.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>
    • mergeUnknownFields

      public final DescriptorProtos.FieldDescriptorProto.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<DescriptorProtos.FieldDescriptorProto.Builder>