Class Descriptors.Descriptor

    • Method Detail

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

        public Descriptors.Descriptor getContainingType()
        If this is a nested type, get the outer descriptor, otherwise null.
      • 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 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​(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.