Class RouteMatch

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

    public final class RouteMatch
    extends com.google.protobuf.GeneratedMessageV3
    implements RouteMatchOrBuilder
     [#next-free-field: 12]
     
    Protobuf type envoy.api.v2.route.RouteMatch
    See Also:
    Serialized Form
    • 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
      • hasPrefix

        public boolean hasPrefix()
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the *:path* header.
         
        string prefix = 1;
        Specified by:
        hasPrefix in interface RouteMatchOrBuilder
        Returns:
        Whether the prefix field is set.
      • getPrefix

        public String getPrefix()
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the *:path* header.
         
        string prefix = 1;
        Specified by:
        getPrefix in interface RouteMatchOrBuilder
        Returns:
        The prefix.
      • getPrefixBytes

        public com.google.protobuf.ByteString getPrefixBytes()
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the *:path* header.
         
        string prefix = 1;
        Specified by:
        getPrefixBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for prefix.
      • hasPath

        public boolean hasPath()
         If specified, the route is an exact path rule meaning that the path must
         exactly match the *:path* header once the query string is removed.
         
        string path = 2;
        Specified by:
        hasPath in interface RouteMatchOrBuilder
        Returns:
        Whether the path field is set.
      • getPath

        public String getPath()
         If specified, the route is an exact path rule meaning that the path must
         exactly match the *:path* header once the query string is removed.
         
        string path = 2;
        Specified by:
        getPath in interface RouteMatchOrBuilder
        Returns:
        The path.
      • getPathBytes

        public com.google.protobuf.ByteString getPathBytes()
         If specified, the route is an exact path rule meaning that the path must
         exactly match the *:path* header once the query string is removed.
         
        string path = 2;
        Specified by:
        getPathBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for path.
      • hasRegex

        @Deprecated
        public boolean hasRegex()
        Deprecated.
        envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex. The regex grammar is defined `here
         <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``/b[io]t`` matches the path */bit*
         * The regex ``/b[io]t`` matches the path */bot*
         * The regex ``/b[io]t`` does not match the path */bite*
         * The regex ``/b[io]t`` does not match the path */bit/bot*
         .. attention::
           This field has been deprecated in favor of `safe_regex` as it is not safe for use with
           untrusted input in all cases.
         
        string regex = 3 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasRegex in interface RouteMatchOrBuilder
        Returns:
        Whether the regex field is set.
      • getRegex

        @Deprecated
        public String getRegex()
        Deprecated.
        envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex. The regex grammar is defined `here
         <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``/b[io]t`` matches the path */bit*
         * The regex ``/b[io]t`` matches the path */bot*
         * The regex ``/b[io]t`` does not match the path */bite*
         * The regex ``/b[io]t`` does not match the path */bit/bot*
         .. attention::
           This field has been deprecated in favor of `safe_regex` as it is not safe for use with
           untrusted input in all cases.
         
        string regex = 3 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getRegex in interface RouteMatchOrBuilder
        Returns:
        The regex.
      • getRegexBytes

        @Deprecated
        public com.google.protobuf.ByteString getRegexBytes()
        Deprecated.
        envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex. The regex grammar is defined `here
         <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``/b[io]t`` matches the path */bit*
         * The regex ``/b[io]t`` matches the path */bot*
         * The regex ``/b[io]t`` does not match the path */bite*
         * The regex ``/b[io]t`` does not match the path */bit/bot*
         .. attention::
           This field has been deprecated in favor of `safe_regex` as it is not safe for use with
           untrusted input in all cases.
         
        string regex = 3 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getRegexBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for regex.
      • hasSafeRegex

        public boolean hasSafeRegex()
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex.
         [#next-major-version: In the v3 API we should redo how path specification works such
         that we utilize StringMatcher, and additionally have consistent options around whether we
         strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive
         to deprecate the existing options. We should even consider whether we want to do away with
         path_specifier entirely and just rely on a set of header matchers which can already match
         on :path, etc. The issue with that is it is unclear how to generically deal with query string
         stripping. This needs more thought.]
         
        .envoy.type.matcher.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
        Specified by:
        hasSafeRegex in interface RouteMatchOrBuilder
        Returns:
        Whether the safeRegex field is set.
      • getSafeRegex

        public RegexMatcher getSafeRegex()
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex.
         [#next-major-version: In the v3 API we should redo how path specification works such
         that we utilize StringMatcher, and additionally have consistent options around whether we
         strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive
         to deprecate the existing options. We should even consider whether we want to do away with
         path_specifier entirely and just rely on a set of header matchers which can already match
         on :path, etc. The issue with that is it is unclear how to generically deal with query string
         stripping. This needs more thought.]
         
        .envoy.type.matcher.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
        Specified by:
        getSafeRegex in interface RouteMatchOrBuilder
        Returns:
        The safeRegex.
      • getSafeRegexOrBuilder

        public RegexMatcherOrBuilder getSafeRegexOrBuilder()
         If specified, the route is a regular expression rule meaning that the
         regex must match the *:path* header once the query string is removed. The entire path
         (without the query string) must match the regex. The rule will not match if only a
         subsequence of the *:path* header matches the regex.
         [#next-major-version: In the v3 API we should redo how path specification works such
         that we utilize StringMatcher, and additionally have consistent options around whether we
         strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive
         to deprecate the existing options. We should even consider whether we want to do away with
         path_specifier entirely and just rely on a set of header matchers which can already match
         on :path, etc. The issue with that is it is unclear how to generically deal with query string
         stripping. This needs more thought.]
         
        .envoy.type.matcher.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
        Specified by:
        getSafeRegexOrBuilder in interface RouteMatchOrBuilder
      • hasCaseSensitive

        public boolean hasCaseSensitive()
         Indicates that prefix/path matching should be case sensitive. The default
         is true.
         
        .google.protobuf.BoolValue case_sensitive = 4;
        Specified by:
        hasCaseSensitive in interface RouteMatchOrBuilder
        Returns:
        Whether the caseSensitive field is set.
      • getCaseSensitive

        public com.google.protobuf.BoolValue getCaseSensitive()
         Indicates that prefix/path matching should be case sensitive. The default
         is true.
         
        .google.protobuf.BoolValue case_sensitive = 4;
        Specified by:
        getCaseSensitive in interface RouteMatchOrBuilder
        Returns:
        The caseSensitive.
      • getCaseSensitiveOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getCaseSensitiveOrBuilder()
         Indicates that prefix/path matching should be case sensitive. The default
         is true.
         
        .google.protobuf.BoolValue case_sensitive = 4;
        Specified by:
        getCaseSensitiveOrBuilder in interface RouteMatchOrBuilder
      • hasRuntimeFraction

        public boolean hasRuntimeFraction()
         Indicates that the route should additionally match on a runtime key. Every time the route
         is considered for a match, it must also fall under the percentage of matches indicated by
         this field. For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the router continues to evaluate the remaining match criteria. A runtime_fraction
         route configuration can be used to roll out route changes in a gradual manner without full
         code/config deploys. Refer to the :ref:`traffic shifting
         <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation.
         .. note::
            Parsing this field is implemented such that the runtime key's data may be represented
            as a FractionalPercent proto represented as JSON/YAML and may also be represented as an
            integer with the assumption that the value is an integral percentage out of 100. For
            instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent
            whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 9;
        Specified by:
        hasRuntimeFraction in interface RouteMatchOrBuilder
        Returns:
        Whether the runtimeFraction field is set.
      • getRuntimeFraction

        public RuntimeFractionalPercent getRuntimeFraction()
         Indicates that the route should additionally match on a runtime key. Every time the route
         is considered for a match, it must also fall under the percentage of matches indicated by
         this field. For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the router continues to evaluate the remaining match criteria. A runtime_fraction
         route configuration can be used to roll out route changes in a gradual manner without full
         code/config deploys. Refer to the :ref:`traffic shifting
         <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation.
         .. note::
            Parsing this field is implemented such that the runtime key's data may be represented
            as a FractionalPercent proto represented as JSON/YAML and may also be represented as an
            integer with the assumption that the value is an integral percentage out of 100. For
            instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent
            whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 9;
        Specified by:
        getRuntimeFraction in interface RouteMatchOrBuilder
        Returns:
        The runtimeFraction.
      • getRuntimeFractionOrBuilder

        public RuntimeFractionalPercentOrBuilder getRuntimeFractionOrBuilder()
         Indicates that the route should additionally match on a runtime key. Every time the route
         is considered for a match, it must also fall under the percentage of matches indicated by
         this field. For some fraction N/D, a random number in the range [0,D) is selected. If the
         number is <= the value of the numerator N, or if the key is not present, the default
         value, the router continues to evaluate the remaining match criteria. A runtime_fraction
         route configuration can be used to roll out route changes in a gradual manner without full
         code/config deploys. Refer to the :ref:`traffic shifting
         <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation.
         .. note::
            Parsing this field is implemented such that the runtime key's data may be represented
            as a FractionalPercent proto represented as JSON/YAML and may also be represented as an
            integer with the assumption that the value is an integral percentage out of 100. For
            instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent
            whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
         
        .envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 9;
        Specified by:
        getRuntimeFractionOrBuilder in interface RouteMatchOrBuilder
      • getHeadersList

        public List<HeaderMatcher> getHeadersList()
         Specifies a set of headers that the route should match on. The router will
         check the request’s headers against all the specified headers in the route
         config. A match will happen if all the headers in the route are present in
         the request with the same values (or based on presence if the value field
         is not in the config).
         
        repeated .envoy.api.v2.route.HeaderMatcher headers = 6;
        Specified by:
        getHeadersList in interface RouteMatchOrBuilder
      • getHeadersOrBuilderList

        public List<? extends HeaderMatcherOrBuilder> getHeadersOrBuilderList()
         Specifies a set of headers that the route should match on. The router will
         check the request’s headers against all the specified headers in the route
         config. A match will happen if all the headers in the route are present in
         the request with the same values (or based on presence if the value field
         is not in the config).
         
        repeated .envoy.api.v2.route.HeaderMatcher headers = 6;
        Specified by:
        getHeadersOrBuilderList in interface RouteMatchOrBuilder
      • getHeadersCount

        public int getHeadersCount()
         Specifies a set of headers that the route should match on. The router will
         check the request’s headers against all the specified headers in the route
         config. A match will happen if all the headers in the route are present in
         the request with the same values (or based on presence if the value field
         is not in the config).
         
        repeated .envoy.api.v2.route.HeaderMatcher headers = 6;
        Specified by:
        getHeadersCount in interface RouteMatchOrBuilder
      • getHeaders

        public HeaderMatcher getHeaders​(int index)
         Specifies a set of headers that the route should match on. The router will
         check the request’s headers against all the specified headers in the route
         config. A match will happen if all the headers in the route are present in
         the request with the same values (or based on presence if the value field
         is not in the config).
         
        repeated .envoy.api.v2.route.HeaderMatcher headers = 6;
        Specified by:
        getHeaders in interface RouteMatchOrBuilder
      • getHeadersOrBuilder

        public HeaderMatcherOrBuilder getHeadersOrBuilder​(int index)
         Specifies a set of headers that the route should match on. The router will
         check the request’s headers against all the specified headers in the route
         config. A match will happen if all the headers in the route are present in
         the request with the same values (or based on presence if the value field
         is not in the config).
         
        repeated .envoy.api.v2.route.HeaderMatcher headers = 6;
        Specified by:
        getHeadersOrBuilder in interface RouteMatchOrBuilder
      • getQueryParametersList

        public List<QueryParameterMatcher> getQueryParametersList()
         Specifies a set of URL query parameters on which the route should
         match. The router will check the query string from the *path* header
         against all the specified query parameters. If the number of specified
         query parameters is nonzero, they all must match the *path* header's
         query string for a match to occur.
         
        repeated .envoy.api.v2.route.QueryParameterMatcher query_parameters = 7;
        Specified by:
        getQueryParametersList in interface RouteMatchOrBuilder
      • getQueryParametersOrBuilderList

        public List<? extends QueryParameterMatcherOrBuilder> getQueryParametersOrBuilderList()
         Specifies a set of URL query parameters on which the route should
         match. The router will check the query string from the *path* header
         against all the specified query parameters. If the number of specified
         query parameters is nonzero, they all must match the *path* header's
         query string for a match to occur.
         
        repeated .envoy.api.v2.route.QueryParameterMatcher query_parameters = 7;
        Specified by:
        getQueryParametersOrBuilderList in interface RouteMatchOrBuilder
      • getQueryParametersCount

        public int getQueryParametersCount()
         Specifies a set of URL query parameters on which the route should
         match. The router will check the query string from the *path* header
         against all the specified query parameters. If the number of specified
         query parameters is nonzero, they all must match the *path* header's
         query string for a match to occur.
         
        repeated .envoy.api.v2.route.QueryParameterMatcher query_parameters = 7;
        Specified by:
        getQueryParametersCount in interface RouteMatchOrBuilder
      • getQueryParameters

        public QueryParameterMatcher getQueryParameters​(int index)
         Specifies a set of URL query parameters on which the route should
         match. The router will check the query string from the *path* header
         against all the specified query parameters. If the number of specified
         query parameters is nonzero, they all must match the *path* header's
         query string for a match to occur.
         
        repeated .envoy.api.v2.route.QueryParameterMatcher query_parameters = 7;
        Specified by:
        getQueryParameters in interface RouteMatchOrBuilder
      • getQueryParametersOrBuilder

        public QueryParameterMatcherOrBuilder getQueryParametersOrBuilder​(int index)
         Specifies a set of URL query parameters on which the route should
         match. The router will check the query string from the *path* header
         against all the specified query parameters. If the number of specified
         query parameters is nonzero, they all must match the *path* header's
         query string for a match to occur.
         
        repeated .envoy.api.v2.route.QueryParameterMatcher query_parameters = 7;
        Specified by:
        getQueryParametersOrBuilder in interface RouteMatchOrBuilder
      • hasGrpc

        public boolean hasGrpc()
         If specified, only gRPC requests will be matched. The router will check
         that the content-type header has a application/grpc or one of the various
         application/grpc+ values.
         
        .envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8;
        Specified by:
        hasGrpc in interface RouteMatchOrBuilder
        Returns:
        Whether the grpc field is set.
      • getGrpc

        public RouteMatch.GrpcRouteMatchOptions getGrpc()
         If specified, only gRPC requests will be matched. The router will check
         that the content-type header has a application/grpc or one of the various
         application/grpc+ values.
         
        .envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8;
        Specified by:
        getGrpc in interface RouteMatchOrBuilder
        Returns:
        The grpc.
      • getGrpcOrBuilder

        public RouteMatch.GrpcRouteMatchOptionsOrBuilder getGrpcOrBuilder()
         If specified, only gRPC requests will be matched. The router will check
         that the content-type header has a application/grpc or one of the various
         application/grpc+ values.
         
        .envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8;
        Specified by:
        getGrpcOrBuilder in interface RouteMatchOrBuilder
      • hasTlsContext

        public boolean hasTlsContext()
         If specified, the client tls context will be matched against the defined
         match options.
         [#next-major-version: unify with RBAC]
         
        .envoy.api.v2.route.RouteMatch.TlsContextMatchOptions tls_context = 11;
        Specified by:
        hasTlsContext in interface RouteMatchOrBuilder
        Returns:
        Whether the tlsContext field is set.
      • getTlsContext

        public RouteMatch.TlsContextMatchOptions getTlsContext()
         If specified, the client tls context will be matched against the defined
         match options.
         [#next-major-version: unify with RBAC]
         
        .envoy.api.v2.route.RouteMatch.TlsContextMatchOptions tls_context = 11;
        Specified by:
        getTlsContext in interface RouteMatchOrBuilder
        Returns:
        The tlsContext.
      • 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 RouteMatch parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

        public static RouteMatch getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<RouteMatch> 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 RouteMatch getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder