Class MetadataKey

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetadataKeyOrBuilder, Serializable

    public final class MetadataKey
    extends com.google.protobuf.GeneratedMessageV3
    implements MetadataKeyOrBuilder
     MetadataKey provides a general interface using ``key`` and ``path`` to retrieve value from
     :ref:`Metadata <envoy_v3_api_msg_config.core.v3.Metadata>`.
     For example, for the following Metadata:
     .. code-block:: yaml
        filter_metadata:
          envoy.xxx:
            prop:
              foo: bar
              xyz:
                hello: envoy
     The following MetadataKey will retrieve a string value "bar" from the Metadata.
     .. code-block:: yaml
        key: envoy.xxx
        path:
        - key: prop
        - key: foo
     
    Protobuf type envoy.type.metadata.v3.MetadataKey
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  MetadataKey.Builder
      MetadataKey provides a general interface using ``key`` and ``path`` to retrieve value from :ref:`Metadata <envoy_v3_api_msg_config.core.v3.Metadata>`.
      static class  MetadataKey.PathSegment
      Specifies the segment in a path to retrieve value from Metadata.
      static interface  MetadataKey.PathSegmentOrBuilder  
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int KEY_FIELD_NUMBER  
      static int PATH_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessageV3

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getKey

        public String getKey()
         The key name of Metadata to retrieve the Struct from the metadata.
         Typically, it represents a builtin subsystem or custom extension.
         
        string key = 1 [(.validate.rules) = { ... }
        Specified by:
        getKey in interface MetadataKeyOrBuilder
        Returns:
        The key.
      • getKeyBytes

        public com.google.protobuf.ByteString getKeyBytes()
         The key name of Metadata to retrieve the Struct from the metadata.
         Typically, it represents a builtin subsystem or custom extension.
         
        string key = 1 [(.validate.rules) = { ... }
        Specified by:
        getKeyBytes in interface MetadataKeyOrBuilder
        Returns:
        The bytes for key.
      • getPathList

        public List<MetadataKey.PathSegment> getPathList()
         The path to retrieve the Value from the Struct. It can be a prefix or a full path,
         e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example,
         which depends on the particular scenario.
         Note: Due to that only the key type segment is supported, the path can not specify a list
         unless the list is the last segment.
         
        repeated .envoy.type.metadata.v3.MetadataKey.PathSegment path = 2 [(.validate.rules) = { ... }
        Specified by:
        getPathList in interface MetadataKeyOrBuilder
      • getPathOrBuilderList

        public List<? extends MetadataKey.PathSegmentOrBuilder> getPathOrBuilderList()
         The path to retrieve the Value from the Struct. It can be a prefix or a full path,
         e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example,
         which depends on the particular scenario.
         Note: Due to that only the key type segment is supported, the path can not specify a list
         unless the list is the last segment.
         
        repeated .envoy.type.metadata.v3.MetadataKey.PathSegment path = 2 [(.validate.rules) = { ... }
        Specified by:
        getPathOrBuilderList in interface MetadataKeyOrBuilder
      • getPathCount

        public int getPathCount()
         The path to retrieve the Value from the Struct. It can be a prefix or a full path,
         e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example,
         which depends on the particular scenario.
         Note: Due to that only the key type segment is supported, the path can not specify a list
         unless the list is the last segment.
         
        repeated .envoy.type.metadata.v3.MetadataKey.PathSegment path = 2 [(.validate.rules) = { ... }
        Specified by:
        getPathCount in interface MetadataKeyOrBuilder
      • getPath

        public MetadataKey.PathSegment getPath​(int index)
         The path to retrieve the Value from the Struct. It can be a prefix or a full path,
         e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example,
         which depends on the particular scenario.
         Note: Due to that only the key type segment is supported, the path can not specify a list
         unless the list is the last segment.
         
        repeated .envoy.type.metadata.v3.MetadataKey.PathSegment path = 2 [(.validate.rules) = { ... }
        Specified by:
        getPath in interface MetadataKeyOrBuilder
      • getPathOrBuilder

        public MetadataKey.PathSegmentOrBuilder getPathOrBuilder​(int index)
         The path to retrieve the Value from the Struct. It can be a prefix or a full path,
         e.g. ``[prop, xyz]`` for a struct or ``[prop, foo]`` for a string in the example,
         which depends on the particular scenario.
         Note: Due to that only the key type segment is supported, the path can not specify a list
         unless the list is the last segment.
         
        repeated .envoy.type.metadata.v3.MetadataKey.PathSegment path = 2 [(.validate.rules) = { ... }
        Specified by:
        getPathOrBuilder in interface MetadataKeyOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static MetadataKey parseFrom​(ByteBuffer data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(ByteBuffer data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(com.google.protobuf.ByteString data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(com.google.protobuf.ByteString data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(byte[] data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(byte[] data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static MetadataKey parseFrom​(com.google.protobuf.CodedInputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws IOException
        Throws:
        IOException
      • newBuilderForType

        public MetadataKey.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public MetadataKey.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected MetadataKey.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static MetadataKey getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<MetadataKey> parser()
      • getParserForType

        public com.google.protobuf.Parser<MetadataKey> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public MetadataKey getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder