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 Details

    • getIndex

      public int getIndex()
      Get the index of this descriptor within its parent. In other words, given a Descriptors.FileDescriptor file, the following is true:
         for all i in [0, file.getMessageTypeCount()):
           file.getMessageType(i).getIndex() == i
       
      Similarly, for a Descriptors.Descriptor messageType:
         for all i in [0, messageType.getNestedTypeCount()):
           messageType.getNestedType(i).getIndex() == i
       
    • toProto

      Convert the descriptor to its protocol message representation.
      Specified by:
      toProto in class Descriptors.GenericDescriptor
    • getName

      public String getName()
      Get the type's unqualified name.
      Specified by:
      getName in class Descriptors.GenericDescriptor
    • getFullName

      public 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 class Descriptors.GenericDescriptor
    • getFile

      public Descriptors.FileDescriptor getFile()
      Get the Descriptors.FileDescriptor containing this descriptor.
      Specified by:
      getFile in class Descriptors.GenericDescriptor
    • getContainingType

      public Descriptors.Descriptor getContainingType()
      If this is a nested type, get the outer descriptor, otherwise null.
    • getOptions

      public DescriptorProtos.MessageOptions getOptions()
      Get the MessageOptions, defined in descriptor.proto.
    • getFields

      public List<Descriptors.FieldDescriptor> getFields()
      Get a list of this message type's fields.
    • getOneofs

      public List<Descriptors.OneofDescriptor> getOneofs()
      Get a list of this message type's oneofs.
    • getRealOneofs

      public List<Descriptors.OneofDescriptor> getRealOneofs()
      Get a list of this message type's real oneofs.
    • getExtensions

      public List<Descriptors.FieldDescriptor> getExtensions()
      Get a list of this message type's extensions.
    • getNestedTypes

      public List<Descriptors.Descriptor> getNestedTypes()
      Get a list of message types nested within this one.
    • getEnumTypes

      public 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(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(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 as
      song_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(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(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.