Class StructMatcher

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.type.matcher.v3.StructMatcher
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, StructMatcherOrBuilder, Serializable

@Generated public final class StructMatcher extends com.google.protobuf.GeneratedMessage implements StructMatcherOrBuilder
StructMatcher provides a general interface to check if a given value is matched in
google.protobuf.Struct. It uses ``path`` to retrieve the value
from the struct and then check if it's matched to the specified value.

For example, for the following Struct:

.. code-block:: yaml

fields:
a:
struct_value:
fields:
b:
struct_value:
fields:
c:
string_value: pro
t:
list_value:
values:
- string_value: m
- string_value: n

The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro"
from the Metadata which is matched to the specified prefix match.

.. code-block:: yaml

path:
- key: a
- key: b
- key: c
value:
string_match:
prefix: pr

The following StructMatcher is matched as the code will match one of the string values in the
list at the path [a, t].

.. code-block:: yaml

path:
- key: a
- key: t
value:
list_match:
one_of:
string_match:
exact: m

An example use of StructMatcher is to match metadata in envoy.v*.core.Node.
Protobuf type envoy.type.matcher.v3.StructMatcher
See Also:
  • Field Details

  • Constructor Details

    • StructMatcher

      private StructMatcher(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • StructMatcher

      private StructMatcher()
  • Method Details

    • getDescriptor

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

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getPathList

      public List<StructMatcher.PathSegment> getPathList()
      The path to retrieve the Value from the Struct.
      
      repeated .envoy.type.matcher.v3.StructMatcher.PathSegment path = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathList in interface StructMatcherOrBuilder
    • getPathOrBuilderList

      public List<? extends StructMatcher.PathSegmentOrBuilder> getPathOrBuilderList()
      The path to retrieve the Value from the Struct.
      
      repeated .envoy.type.matcher.v3.StructMatcher.PathSegment path = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathOrBuilderList in interface StructMatcherOrBuilder
    • getPathCount

      public int getPathCount()
      The path to retrieve the Value from the Struct.
      
      repeated .envoy.type.matcher.v3.StructMatcher.PathSegment path = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathCount in interface StructMatcherOrBuilder
    • getPath

      public StructMatcher.PathSegment getPath(int index)
      The path to retrieve the Value from the Struct.
      
      repeated .envoy.type.matcher.v3.StructMatcher.PathSegment path = 2 [(.validate.rules) = { ... }
      Specified by:
      getPath in interface StructMatcherOrBuilder
    • getPathOrBuilder

      public StructMatcher.PathSegmentOrBuilder getPathOrBuilder(int index)
      The path to retrieve the Value from the Struct.
      
      repeated .envoy.type.matcher.v3.StructMatcher.PathSegment path = 2 [(.validate.rules) = { ... }
      Specified by:
      getPathOrBuilder in interface StructMatcherOrBuilder
    • hasValue

      public boolean hasValue()
      The StructMatcher is matched if the value retrieved by path is matched to this value.
      
      .envoy.type.matcher.v3.ValueMatcher value = 3 [(.validate.rules) = { ... }
      Specified by:
      hasValue in interface StructMatcherOrBuilder
      Returns:
      Whether the value field is set.
    • getValue

      public ValueMatcher getValue()
      The StructMatcher is matched if the value retrieved by path is matched to this value.
      
      .envoy.type.matcher.v3.ValueMatcher value = 3 [(.validate.rules) = { ... }
      Specified by:
      getValue in interface StructMatcherOrBuilder
      Returns:
      The value.
    • getValueOrBuilder

      public ValueMatcherOrBuilder getValueOrBuilder()
      The StructMatcher is matched if the value retrieved by path is matched to this value.
      
      .envoy.type.matcher.v3.ValueMatcher value = 3 [(.validate.rules) = { ... }
      Specified by:
      getValueOrBuilder in interface StructMatcherOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • 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.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • 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 StructMatcher parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static StructMatcher parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static StructMatcher parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static StructMatcher parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static StructMatcher parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static StructMatcher parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

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

      public static StructMatcher.Builder newBuilder()
    • newBuilder

      public static StructMatcher.Builder newBuilder(StructMatcher prototype)
    • toBuilder

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

      protected StructMatcher.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static StructMatcher getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<StructMatcher> 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.GeneratedMessage
    • getDefaultInstanceForType

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