Class StructMatcher

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, StructMatcherOrBuilder, java.io.Serializable

    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:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  StructMatcher.Builder
      StructMatcher provides a general interface to check if a given value is matched in google.protobuf.Struct.
      static class  StructMatcher.PathSegment
      Specifies the segment in a path to retrieve value from Struct.
      static interface  StructMatcher.PathSegmentOrBuilder  
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

        com.google.protobuf.AbstractMessage.BuilderParent
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

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

      Constructors 
      Modifier Constructor Description
      private StructMatcher()  
      private StructMatcher​(com.google.protobuf.GeneratedMessage.Builder<?> builder)  
    • Constructor Detail

      • StructMatcher

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

        private StructMatcher()
    • Method Detail

      • 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
      • 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
      • 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 java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.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​(java.lang.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​(java.nio.ByteBuffer data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static StructMatcher parseFrom​(java.nio.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​(java.io.InputStream input)
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

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

        public static StructMatcher parseDelimitedFrom​(java.io.InputStream input)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

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

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

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

        public StructMatcher.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • 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