Package com.google.protobuf
Class Descriptors.Descriptor
java.lang.Object
com.google.protobuf.Descriptors.GenericDescriptor
com.google.protobuf.Descriptors.Descriptor
- Enclosing class:
- Descriptors
Describes a message type.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Descriptors.Descriptorprivate final Descriptors.EnumDescriptor[]private final int[]private final int[]private final Descriptors.FieldDescriptor[]private final Descriptors.FieldDescriptor[]private final Descriptors.FieldDescriptor[]private final Descriptors.FileDescriptorprivate final Stringprivate final intprivate final Descriptors.Descriptor[]private final Descriptors.OneofDescriptor[]private DescriptorProtos.DescriptorProtoprivate final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateDescriptor(DescriptorProtos.DescriptorProto proto, Descriptors.FileDescriptor file, Descriptors.Descriptor parent, int index) (package private)Descriptor(String fullname) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidLook up and cross-link all field types, etc.findEnumTypeByName(String name) Finds a nested enum type by name.findFieldByName(String name) Finds a field by name.findFieldByNumber(int number) Finds a field by field number.findNestedTypeByName(String name) Finds a nested message type by name.If this is a nested type, get the outer descriptor, otherwise null.Get a list of enum types nested within this one.Get a list of this message type's extensions.Get a list of this message type's fields.getFile()Get theDescriptors.FileDescriptorcontaining this descriptor.Get the type's fully-qualified name, within the proto language's namespace.intgetIndex()Get the index of this descriptor within its parent.getName()Get the type's unqualified name.Get a list of message types nested within this one.Get a list of this message type's oneofs.Get theMessageOptions, defined indescriptor.proto.Get a list of this message type's real oneofs.booleanIndicates whether the message can be extended.booleanisExtensionNumber(int number) Determines if the given field number is an extension.booleanisReservedName(String name) Determines if the given field name is reserved.booleanisReservedNumber(int number) Determines if the given field number is reserved.private voidtoProto()Convert the descriptor to its protocol message representation.private void
-
Field Details
-
index
private final int index -
proto
-
fullName
-
file
-
containingType
-
nestedTypes
-
enumTypes
-
fields
-
fieldsSortedByNumber
-
extensions
-
oneofs
-
realOneofCount
private final int realOneofCount -
extensionRangeLowerBounds
private final int[] extensionRangeLowerBounds -
extensionRangeUpperBounds
private final int[] extensionRangeUpperBounds
-
-
Constructor Details
-
Descriptor
Descriptor(String fullname) throws Descriptors.DescriptorValidationException -
Descriptor
private Descriptor(DescriptorProtos.DescriptorProto proto, Descriptors.FileDescriptor file, Descriptors.Descriptor parent, int index) throws Descriptors.DescriptorValidationException
-
-
Method Details
-
getIndex
public int getIndex()Get the index of this descriptor within its parent. In other words, given aDescriptors.FileDescriptorfile, the following is true:for all i in [0, file.getMessageTypeCount()): file.getMessageType(i).getIndex() == iSimilarly, for aDescriptors.DescriptormessageType:for all i in [0, messageType.getNestedTypeCount()): messageType.getNestedType(i).getIndex() == i -
toProto
Convert the descriptor to its protocol message representation.- Specified by:
toProtoin classDescriptors.GenericDescriptor
-
getName
Get the type's unqualified name.- Specified by:
getNamein classDescriptors.GenericDescriptor
-
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:
getFullNamein classDescriptors.GenericDescriptor
-
getFile
Get theDescriptors.FileDescriptorcontaining this descriptor.- Specified by:
getFilein classDescriptors.GenericDescriptor
-
getContainingType
If this is a nested type, get the outer descriptor, otherwise null. -
getOptions
Get theMessageOptions, defined indescriptor.proto. -
getFields
Get a list of this message type's fields. -
getOneofs
Get a list of this message type's oneofs. -
getRealOneofs
Get a list of this message type's real oneofs. -
getExtensions
Get a list of this message type's extensions. -
getNestedTypes
Get a list of message types nested within this one. -
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
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
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
nullif not found.
-
findFieldByNumber
Finds a field by field number.- Parameters:
number- The field number within this message type.- Returns:
- The field's descriptor, or
nullif not found.
-
findNestedTypeByName
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
nullif not found.
-
findEnumTypeByName
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
nullif not found.
-
crossLink
Look up and cross-link all field types, etc. -
validateNoDuplicateFieldNumbers
-
setProto
-