Class: Gapic::Schema::Message

Inherits:
Proto
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/gapic/schema/wrappers.rb

Overview

Wrapper for a protobuf Message.

Constant Summary collapse

OPTION_EXTENSION_NAMES =
{
  "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
}.freeze

Instance Attribute Summary collapse

Attributes inherited from Proto

#address, #descriptor, #docs, #parent

Instance Method Summary collapse

Methods inherited from Proto

#containing_api, #containing_file, #docs_leading_comments, #leading_comments, #leading_detached_comments, #option_named, #path, #span, #trailing_comments

Constructor Details

#initialize(descriptor, address, docs, fields, extensions, resource, nested_messages, nested_enums) ⇒ Message

Initializes a message object.

Parameters:

  • descriptor (Google::Protobuf::DescriptorProto)

    the protobuf representation of this service.

  • address (Enumerable<String>)

    The address of the proto. See

    address for more info.

  • docs (Google::Protobuf::SourceCodeInfo::Location)

    The docs of the proto. See #docs for more info.

  • fields (Enumerable<Field>)

    The fields of this message.

  • extensions (Enumerable<Field>)

    The extensions of this message.

  • resource (Resource, nil)

    The resource of this message, or nil if none.

  • nested_messages (Enumerable<Message>)

    The nested message declarations of this message.

  • nested_enums (Enumerable<Enum>)

    The nested enum declarations of this message.



673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
# File 'lib/gapic/schema/wrappers.rb', line 673

def initialize descriptor, address, docs, fields, extensions, resource,
               nested_messages, nested_enums
  super descriptor, address, docs
  @fields = fields || []
  @extensions = extensions || []
  @resource = resource
  @nested_messages = nested_messages || []
  @nested_enums = nested_enums || []

  @fields.each          { |f| f.parent = self }
  @extensions.each      { |x| x.parent = self }
  @nested_messages.each { |m| m.parent = self }
  @nested_enums.each    { |e| e.parent = self }
  @resource.parent = self if @resource
end

Instance Attribute Details

#extensionsObject (readonly)

@ return [Enumerable] The extensions of a message.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/gapic/schema/wrappers.rb', line 650

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#fieldsObject (readonly)

@ return [Enumerable] The fields of a message.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/gapic/schema/wrappers.rb', line 650

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#nested_enumsObject (readonly)

@ return [Enumerable] The nested enum declarations of a message.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/gapic/schema/wrappers.rb', line 650

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#nested_messagesObject (readonly)

@ return [Enumerable] The nested message declarations of a message.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/gapic/schema/wrappers.rb', line 650

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

#resourceObject (readonly)

@ return [Resource,nil] A representation of the resource.



650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/gapic/schema/wrappers.rb', line 650

class Message < Proto
  extend Forwardable

  attr_reader :fields
  attr_reader :extensions
  attr_reader :resource
  attr_reader :nested_messages
  attr_reader :nested_enums

  # Initializes a message object.
  # @param descriptor [Google::Protobuf::DescriptorProto] the protobuf
  #   representation of this service.
  # @param address [Enumerable<String>] The address of the proto. See
  #   #address for more info.
  # @param docs [Google::Protobuf::SourceCodeInfo::Location] The docs
  #   of the proto. See #docs for more info.
  # @param fields [Enumerable<Field>] The fields of this message.
  # @param extensions [Enumerable<Field>] The extensions of this message.
  # @param resource [Resource,nil] The resource of this message, or nil if none.
  # @param nested_messages [Enumerable<Message>] The nested message
  #   declarations of this message.
  # @param nested_enums [Enumerable<Enum>] The nested enum declarations
  #   of this message.
  def initialize descriptor, address, docs, fields, extensions, resource,
                 nested_messages, nested_enums
    super descriptor, address, docs
    @fields = fields || []
    @extensions = extensions || []
    @resource = resource
    @nested_messages = nested_messages || []
    @nested_enums = nested_enums || []

    @fields.each          { |f| f.parent = self }
    @extensions.each      { |x| x.parent = self }
    @nested_messages.each { |m| m.parent = self }
    @nested_enums.each    { |e| e.parent = self }
    @resource.parent = self if @resource
  end

  OPTION_EXTENSION_NAMES = {
    "google.api.resource" => [1053, ::Google::Api::ResourceDescriptor]
  }.freeze

  ##
  # Return a configuration of supported option extensions.
  #
  def option_extension_names
    OPTION_EXTENSION_NAMES
  end

  # @return [Boolean] whether this type is a map entry
  def map_entry?
    descriptor.options&.map_entry
  end

  # @return [String] The full name for this message
  #   (e.g. `google.example.Message`).
  #   Useful when matching against other pieces of information
  #   which also reference full proto name.
  def full_name
    @address.join "."
  end

  # @return [Boolean] True if this message is marked as deprecated, false
  #   otherwise.
  def is_deprecated?
    option_named "deprecated"
  end

  # @!method name
  #   @return [String] the unqualified name of the message.
  # @!method oneof_decl
  #   @return [Array<Google::Protobuf::OneofDescriptorProto>]
  #     The oneofs declared in this message.
  # @!method options
  #   @return [Array<Google::Protobuf::MessageOptions>]
  #     The options of this meessage.
  def_delegators(
    :descriptor,
    :name,
    :oneof_decl,
    :options
  )
end

Instance Method Details

#full_nameString

Returns The full name for this message (e.g. google.example.Message). Useful when matching against other pieces of information which also reference full proto name.

Returns:

  • (String)

    The full name for this message (e.g. google.example.Message). Useful when matching against other pieces of information which also reference full proto name.



709
710
711
# File 'lib/gapic/schema/wrappers.rb', line 709

def full_name
  @address.join "."
end

#is_deprecated?Boolean

Returns True if this message is marked as deprecated, false otherwise.

Returns:

  • (Boolean)

    True if this message is marked as deprecated, false otherwise.



715
716
717
# File 'lib/gapic/schema/wrappers.rb', line 715

def is_deprecated?
  option_named "deprecated"
end

#map_entry?Boolean

Returns whether this type is a map entry.

Returns:

  • (Boolean)

    whether this type is a map entry



701
702
703
# File 'lib/gapic/schema/wrappers.rb', line 701

def map_entry?
  descriptor.options&.map_entry
end

#nameString

Returns the unqualified name of the message.

Returns:

  • (String)

    the unqualified name of the message.



727
728
729
730
731
732
# File 'lib/gapic/schema/wrappers.rb', line 727

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)

#oneof_declArray<Google::Protobuf::OneofDescriptorProto>

Returns The oneofs declared in this message.

Returns:

  • (Array<Google::Protobuf::OneofDescriptorProto>)

    The oneofs declared in this message.



727
728
729
730
731
732
# File 'lib/gapic/schema/wrappers.rb', line 727

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)

#option_extension_namesObject

Return a configuration of supported option extensions.



696
697
698
# File 'lib/gapic/schema/wrappers.rb', line 696

def option_extension_names
  OPTION_EXTENSION_NAMES
end

#optionsArray<Google::Protobuf::MessageOptions>

Returns The options of this meessage.

Returns:

  • (Array<Google::Protobuf::MessageOptions>)

    The options of this meessage.



727
728
729
730
731
732
# File 'lib/gapic/schema/wrappers.rb', line 727

def_delegators(
  :descriptor,
  :name,
  :oneof_decl,
  :options
)