public static final class Descriptors.FieldDescriptor extends Descriptors.GenericDescriptor implements Comparable<Descriptors.FieldDescriptor>, FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
Modifier and Type | Class and Description |
---|---|
static class |
Descriptors.FieldDescriptor.JavaType |
static class |
Descriptors.FieldDescriptor.Type |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Descriptors.FieldDescriptor other)
Compare with another
FieldDescriptor . |
Descriptors.OneofDescriptor |
getContainingOneof()
Get the field's containing oneof.
|
Descriptors.Descriptor |
getContainingType()
Get the field's containing type.
|
Object |
getDefaultValue()
Returns the field's default value.
|
Descriptors.EnumDescriptor |
getEnumType()
For enum fields, gets the field's type.
|
Descriptors.Descriptor |
getExtensionScope()
For extensions defined nested within message types, gets the outer type.
|
Descriptors.FileDescriptor |
getFile()
Get the
FileDescriptor containing this descriptor. |
String |
getFullName()
Get the field's fully-qualified name.
|
int |
getIndex()
Get the index of this descriptor within its parent.
|
Descriptors.FieldDescriptor.JavaType |
getJavaType()
Get the field's java type.
|
String |
getJsonName()
Get the JSON name of this field.
|
WireFormat.JavaType |
getLiteJavaType()
For internal use only.
|
WireFormat.FieldType |
getLiteType()
For internal use only.
|
Descriptors.Descriptor |
getMessageType()
For embedded message and group fields, gets the field's type.
|
String |
getName()
Get the field's unqualified name.
|
int |
getNumber()
Get the field's number.
|
DescriptorProtos.FieldOptions |
getOptions()
Get the
FieldOptions , defined in descriptor.proto . |
Descriptors.OneofDescriptor |
getRealContainingOneof()
Get the field's containing oneof, only if non-synthetic.
|
Descriptors.FieldDescriptor.Type |
getType()
Get the field's declared type.
|
boolean |
hasDefaultValue()
Returns true if the field had an explicitly-defined default value.
|
boolean |
hasOptionalKeyword()
Returns true if this field was syntactically written with "optional" in the .proto file.
|
boolean |
hasPresence()
Returns true if this field tracks presence, ie.
|
MessageLite.Builder |
internalMergeFrom(MessageLite.Builder to,
MessageLite from)
For internal use only.
|
boolean |
isExtension()
Is this field an extension?
|
boolean |
isMapField() |
boolean |
isOptional()
Is this field declared optional?
|
boolean |
isPackable()
Can this field be packed? That is, is it a repeated primitive field?
|
boolean |
isPacked()
Does this field have the
[packed = true] option or is this field packable in proto3
and not explicitly set to unpacked? |
boolean |
isRepeated()
Is this field declared repeated?
|
boolean |
isRequired()
Is this field declared required?
|
boolean |
needsUtf8Check()
For internal use only.
|
DescriptorProtos.FieldDescriptorProto |
toProto()
Convert the descriptor to its protocol message representation.
|
String |
toString() |
public int getIndex()
Descriptors.Descriptor.getIndex()
public DescriptorProtos.FieldDescriptorProto toProto()
toProto
in class Descriptors.GenericDescriptor
public String getName()
getName
in class Descriptors.GenericDescriptor
public int getNumber()
getNumber
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public String getFullName()
getFullName
in class Descriptors.GenericDescriptor
Descriptors.Descriptor.getFullName()
public String getJsonName()
public Descriptors.FieldDescriptor.JavaType getJavaType()
FieldDescriptorProto.Type
maps to exactly one Java type.public WireFormat.JavaType getLiteJavaType()
getLiteJavaType
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public Descriptors.FileDescriptor getFile()
FileDescriptor
containing this descriptor.getFile
in class Descriptors.GenericDescriptor
public Descriptors.FieldDescriptor.Type getType()
public WireFormat.FieldType getLiteType()
getLiteType
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public boolean needsUtf8Check()
public boolean isMapField()
public boolean isRequired()
public boolean isOptional()
public boolean isRepeated()
isRepeated
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public boolean isPacked()
[packed = true]
option or is this field packable in proto3
and not explicitly set to unpacked?isPacked
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public boolean isPackable()
public boolean hasDefaultValue()
public Object getDefaultValue()
public DescriptorProtos.FieldOptions getOptions()
FieldOptions
, defined in descriptor.proto
.public boolean isExtension()
public Descriptors.Descriptor getContainingType()
getExtensionScope()
.public Descriptors.OneofDescriptor getContainingOneof()
public Descriptors.OneofDescriptor getRealContainingOneof()
public boolean hasOptionalKeyword()
public boolean hasPresence()
This includes required, optional, and oneof fields. It excludes maps, repeated fields, and singular proto3 fields without "optional".
For fields where hasPresence() == true, the return value of msg.hasField() is semantically meaningful.
public Descriptors.Descriptor getExtensionScope()
.proto
file:
message Foo { extensions 1000 to max; } extend Foo { optional int32 baz = 1234; } message Bar { extend Foo { optional int32 moo = 4321; } }Both
baz
's and moo
's containing type is Foo
. However, baz
's
extension scope is null
while moo
's extension scope is Bar
.public Descriptors.Descriptor getMessageType()
public Descriptors.EnumDescriptor getEnumType()
getEnumType
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
public int compareTo(Descriptors.FieldDescriptor other)
FieldDescriptor
. This orders fields in "canonical" order, which
simply means ascending order by field number. other
must be a field of the same type.
That is, getContainingType()
must return the same Descriptor
for both fields.compareTo
in interface Comparable<Descriptors.FieldDescriptor>
this
is less than, equal to, or greater than
other
, respectivelypublic MessageLite.Builder internalMergeFrom(MessageLite.Builder to, MessageLite from)
internalMergeFrom
in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>
Copyright © 2008–2022. All rights reserved.