Class MetadataKey.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<MetadataKey.Builder>
com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder>
io.envoyproxy.envoy.type.metadata.v3.MetadataKey.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetadataKeyOrBuilder, Cloneable
Enclosing class:
MetadataKey

public static final class MetadataKey.Builder extends com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder> 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
  • Field Details

  • Constructor Details

    • Builder

      private Builder()
    • Builder

      private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder>
    • clear

      public MetadataKey.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder>
    • getDefaultInstanceForType

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

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

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

      private void buildPartialRepeatedFields(MetadataKey result)
    • buildPartial0

      private void buildPartial0(MetadataKey result)
    • mergeFrom

      public MetadataKey.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MetadataKey.Builder>
    • mergeFrom

      public MetadataKey.Builder mergeFrom(MetadataKey other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<MetadataKey.Builder>
    • mergeFrom

      public MetadataKey.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MetadataKey.Builder>
      Throws:
      IOException
    • 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.
    • setKey

      public MetadataKey.Builder setKey(String value)
       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) = { ... }
      Parameters:
      value - The key to set.
      Returns:
      This builder for chaining.
    • clearKey

      public MetadataKey.Builder clearKey()
       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) = { ... }
      Returns:
      This builder for chaining.
    • setKeyBytes

      public MetadataKey.Builder setKeyBytes(com.google.protobuf.ByteString value)
       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) = { ... }
      Parameters:
      value - The bytes for key to set.
      Returns:
      This builder for chaining.
    • ensurePathIsMutable

      private void ensurePathIsMutable()
    • 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
    • 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
    • setPath

      public MetadataKey.Builder setPath(int index, MetadataKey.PathSegment value)
       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) = { ... }
    • setPath

      public MetadataKey.Builder setPath(int index, MetadataKey.PathSegment.Builder builderForValue)
       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) = { ... }
    • addPath

       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) = { ... }
    • addPath

      public MetadataKey.Builder addPath(int index, MetadataKey.PathSegment value)
       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) = { ... }
    • addPath

      public MetadataKey.Builder addPath(MetadataKey.PathSegment.Builder builderForValue)
       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) = { ... }
    • addPath

      public MetadataKey.Builder addPath(int index, MetadataKey.PathSegment.Builder builderForValue)
       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) = { ... }
    • addAllPath

      public MetadataKey.Builder addAllPath(Iterable<? extends MetadataKey.PathSegment> values)
       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) = { ... }
    • clearPath

      public MetadataKey.Builder clearPath()
       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) = { ... }
    • removePath

      public MetadataKey.Builder removePath(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) = { ... }
    • getPathBuilder

      public MetadataKey.PathSegment.Builder getPathBuilder(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) = { ... }
    • 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
    • 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
    • addPathBuilder

      public MetadataKey.PathSegment.Builder addPathBuilder()
       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) = { ... }
    • addPathBuilder

      public MetadataKey.PathSegment.Builder addPathBuilder(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) = { ... }
    • getPathBuilderList

      public List<MetadataKey.PathSegment.Builder> getPathBuilderList()
       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) = { ... }
    • getPathFieldBuilder

      private com.google.protobuf.RepeatedFieldBuilder<MetadataKey.PathSegment,MetadataKey.PathSegment.Builder,MetadataKey.PathSegmentOrBuilder> getPathFieldBuilder()