Package com.google.protobuf
Class Descriptors.Descriptor
- java.lang.Object
-
- com.google.protobuf.Descriptors.GenericDescriptor
-
- com.google.protobuf.Descriptors.Descriptor
-
- Enclosing class:
- Descriptors
public static final class Descriptors.Descriptor extends Descriptors.GenericDescriptor
Describes a message type.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Descriptors.EnumDescriptor
findEnumTypeByName(java.lang.String name)
Finds a nested enum type by name.Descriptors.FieldDescriptor
findFieldByName(java.lang.String name)
Finds a field by name.Descriptors.FieldDescriptor
findFieldByNumber(int number)
Finds a field by field number.Descriptors.Descriptor
findNestedTypeByName(java.lang.String name)
Finds a nested message type by name.Descriptors.Descriptor
getContainingType()
If this is a nested type, get the outer descriptor, otherwise null.java.util.List<Descriptors.EnumDescriptor>
getEnumTypes()
Get a list of enum types nested within this one.java.util.List<Descriptors.FieldDescriptor>
getExtensions()
Get a list of this message type's extensions.java.util.List<Descriptors.FieldDescriptor>
getFields()
Get a list of this message type's fields.Descriptors.FileDescriptor
getFile()
Get theDescriptors.FileDescriptor
containing this descriptor.java.lang.String
getFullName()
Get the type's fully-qualified name, within the proto language's namespace.int
getIndex()
Get the index of this descriptor within its parent.java.lang.String
getName()
Get the type's unqualified name.java.util.List<Descriptors.Descriptor>
getNestedTypes()
Get a list of message types nested within this one.java.util.List<Descriptors.OneofDescriptor>
getOneofs()
Get a list of this message type's oneofs.DescriptorProtos.MessageOptions
getOptions()
Get theMessageOptions
, defined indescriptor.proto
.java.util.List<Descriptors.OneofDescriptor>
getRealOneofs()
Get a list of this message type's real oneofs.boolean
isExtendable()
Indicates whether the message can be extended.boolean
isExtensionNumber(int number)
Determines if the given field number is an extension.boolean
isReservedName(java.lang.String name)
Determines if the given field name is reserved.boolean
isReservedNumber(int number)
Determines if the given field number is reserved.DescriptorProtos.DescriptorProto
toProto()
Convert the descriptor to its protocol message representation.
-
-
-
Method Detail
-
getIndex
public int getIndex()
Get the index of this descriptor within its parent. In other words, given aDescriptors.FileDescriptor
file
, the following is true:for all i in [0, file.getMessageTypeCount()): file.getMessageType(i).getIndex() == i
Similarly, for aDescriptors.Descriptor
messageType
:for all i in [0, messageType.getNestedTypeCount()): messageType.getNestedType(i).getIndex() == i
-
toProto
public DescriptorProtos.DescriptorProto toProto()
Convert the descriptor to its protocol message representation.- Specified by:
toProto
in classDescriptors.GenericDescriptor
-
getName
public java.lang.String getName()
Get the type's unqualified name.- Specified by:
getName
in classDescriptors.GenericDescriptor
-
getFullName
public java.lang.String getFullName()
Get the type's fully-qualified name, within the proto language's namespace. This differs from the Java name. For example, given this.proto
:package foo.bar; option java_package = "com.example.protos" message Baz {}
Baz
's full name is "foo.bar.Baz".- Specified by:
getFullName
in classDescriptors.GenericDescriptor
-
getFile
public Descriptors.FileDescriptor getFile()
Get theDescriptors.FileDescriptor
containing this descriptor.- Specified by:
getFile
in classDescriptors.GenericDescriptor
-
getContainingType
public Descriptors.Descriptor getContainingType()
If this is a nested type, get the outer descriptor, otherwise null.
-
getOptions
public DescriptorProtos.MessageOptions getOptions()
Get theMessageOptions
, defined indescriptor.proto
.
-
getFields
public java.util.List<Descriptors.FieldDescriptor> getFields()
Get a list of this message type's fields.
-
getOneofs
public java.util.List<Descriptors.OneofDescriptor> getOneofs()
Get a list of this message type's oneofs.
-
getRealOneofs
public java.util.List<Descriptors.OneofDescriptor> getRealOneofs()
Get a list of this message type's real oneofs.
-
getExtensions
public java.util.List<Descriptors.FieldDescriptor> getExtensions()
Get a list of this message type's extensions.
-
getNestedTypes
public java.util.List<Descriptors.Descriptor> getNestedTypes()
Get a list of message types nested within this one.
-
getEnumTypes
public java.util.List<Descriptors.EnumDescriptor> getEnumTypes()
Get a list of enum types nested within this one.
-
isExtensionNumber
public boolean isExtensionNumber(int number)
Determines if the given field number is an extension.
-
isReservedNumber
public boolean isReservedNumber(int number)
Determines if the given field number is reserved.
-
isReservedName
public boolean isReservedName(java.lang.String name)
Determines if the given field name is reserved.
-
isExtendable
public boolean isExtendable()
Indicates whether the message can be extended. That is, whether it has any "extensions x to y" ranges declared on it.
-
findFieldByName
public Descriptors.FieldDescriptor findFieldByName(java.lang.String name)
Finds a field by name.- Parameters:
name
- The unqualified name of the field (e.g. "foo"). For protocol buffer messages that follow Google's guidance on naming this will be a snake case string, such assong_name
.- Returns:
- The field's descriptor, or
null
if not found.
-
findFieldByNumber
public Descriptors.FieldDescriptor findFieldByNumber(int number)
Finds a field by field number.- Parameters:
number
- The field number within this message type.- Returns:
- The field's descriptor, or
null
if not found.
-
findNestedTypeByName
public Descriptors.Descriptor findNestedTypeByName(java.lang.String name)
Finds a nested message type by name.- Parameters:
name
- The unqualified name of the nested type such as "Foo"- Returns:
- The types's descriptor, or
null
if not found.
-
findEnumTypeByName
public Descriptors.EnumDescriptor findEnumTypeByName(java.lang.String name)
Finds a nested enum type by name.- Parameters:
name
- The unqualified name of the nested type such as "Foo"- Returns:
- The types's descriptor, or
null
if not found.
-
-