public static final class Descriptors.FieldDescriptor extends java.lang.Object implements java.lang.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.Descriptor |
getContainingType()
Get the field's containing type.
|
java.lang.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. |
java.lang.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.
|
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.
|
java.lang.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.FieldDescriptor.Type |
getType()
Get the field's declared type.
|
boolean |
hasDefaultValue()
Returns true if the field had an explicitly-defined default value.
|
MessageLite.Builder |
internalMergeFrom(MessageLite.Builder to,
MessageLite from)
For internal use only.
|
boolean |
isExtension()
Is this field an extension?
|
boolean |
isOptional()
Is this field declared optional?
|
boolean |
isPackable()
Can this field be packed? i.e.
|
boolean |
isPacked()
Does this field have the
[packed = true] option? |
boolean |
isRepeated()
Is this field declared repeated?
|
boolean |
isRequired()
Is this field declared required?
|
DescriptorProtos.FieldDescriptorProto |
toProto()
Convert the descriptor to its protocol message representation.
|
public int getIndex()
Descriptors.Descriptor.getIndex()public DescriptorProtos.FieldDescriptorProto toProto()
public java.lang.String getName()
public int getNumber()
getNumber in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>public java.lang.String getFullName()
Descriptors.Descriptor.getFullName()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.public Descriptors.FieldDescriptor.Type getType()
public WireFormat.FieldType getLiteType()
getLiteType in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>public boolean isRequired()
public boolean isOptional()
public boolean isRepeated()
isRepeated in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>public boolean isPacked()
[packed = true] option?isPacked in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>public boolean isPackable()
public boolean hasDefaultValue()
public java.lang.Object getDefaultValue()
public DescriptorProtos.FieldOptions getOptions()
FieldOptions, defined in descriptor.proto.public boolean isExtension()
public Descriptors.Descriptor getContainingType()
getExtensionScope().public Descriptors.Descriptor getExtensionScope()
.proto file:
message Foo {
extensions 1000 to max;
}
extend Foo {
optional int32 baz = 1234;
}
message Bar {
extend Foo {
optional int32 qux = 4321;
}
}
Both baz's and qux's containing type is Foo.
However, baz's extension scope is null while
qux'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 -- i.e.
getContainingType() must return the same Descriptor for
both fields.compareTo in interface java.lang.Comparable<Descriptors.FieldDescriptor>this is less than,
equal to, or greater than other, respectively.public MessageLite.Builder internalMergeFrom(MessageLite.Builder to, MessageLite from)
internalMergeFrom in interface FieldSet.FieldDescriptorLite<Descriptors.FieldDescriptor>