All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.config.route.v3.Route Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto

// Protobuf Java Version: 3.25.5
package io.envoyproxy.envoy.config.route.v3;

/**
 * 
 * A route is both a specification of how to match a request as well as an indication of what to do
 * next (e.g., redirect, forward, rewrite, etc.).
 *
 * .. attention::
 *
 *   Envoy supports routing on HTTP method via :ref:`header matching
 *   <envoy_v3_api_msg_config.route.v3.HeaderMatcher>`.
 * [#next-free-field: 20]
 * 
* * Protobuf type {@code envoy.config.route.v3.Route} */ public final class Route extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.config.route.v3.Route) RouteOrBuilder { private static final long serialVersionUID = 0L; // Use Route.newBuilder() to construct. private Route(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Route() { name_ = ""; requestHeadersToAdd_ = java.util.Collections.emptyList(); requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); responseHeadersToAdd_ = java.util.Collections.emptyList(); responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); statPrefix_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Route(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( int number) { switch (number) { case 13: return internalGetTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.config.route.v3.Route.class, io.envoyproxy.envoy.config.route.v3.Route.Builder.class); } private int bitField0_; private int actionCase_ = 0; @SuppressWarnings("serial") private java.lang.Object action_; public enum ActionCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { ROUTE(2), REDIRECT(3), DIRECT_RESPONSE(7), FILTER_ACTION(17), NON_FORWARDING_ACTION(18), ACTION_NOT_SET(0); private final int value; private ActionCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static ActionCase valueOf(int value) { return forNumber(value); } public static ActionCase forNumber(int value) { switch (value) { case 2: return ROUTE; case 3: return REDIRECT; case 7: return DIRECT_RESPONSE; case 17: return FILTER_ACTION; case 18: return NON_FORWARDING_ACTION; case 0: return ACTION_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public ActionCase getActionCase() { return ActionCase.forNumber( actionCase_); } public static final int NAME_FIELD_NUMBER = 14; @SuppressWarnings("serial") private volatile java.lang.Object name_ = ""; /** *
   * Name for the route.
   * 
* * string name = 14; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** *
   * Name for the route.
   * 
* * string name = 14; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MATCH_FIELD_NUMBER = 1; private io.envoyproxy.envoy.config.route.v3.RouteMatch match_; /** *
   * Route matching parameters.
   * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } * @return Whether the match field is set. */ @java.lang.Override public boolean hasMatch() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * Route matching parameters.
   * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } * @return The match. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteMatch getMatch() { return match_ == null ? io.envoyproxy.envoy.config.route.v3.RouteMatch.getDefaultInstance() : match_; } /** *
   * Route matching parameters.
   * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder getMatchOrBuilder() { return match_ == null ? io.envoyproxy.envoy.config.route.v3.RouteMatch.getDefaultInstance() : match_; } public static final int ROUTE_FIELD_NUMBER = 2; /** *
   * Route request to some upstream cluster.
   * 
* * .envoy.config.route.v3.RouteAction route = 2; * @return Whether the route field is set. */ @java.lang.Override public boolean hasRoute() { return actionCase_ == 2; } /** *
   * Route request to some upstream cluster.
   * 
* * .envoy.config.route.v3.RouteAction route = 2; * @return The route. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteAction getRoute() { if (actionCase_ == 2) { return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_; } return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } /** *
   * Route request to some upstream cluster.
   * 
* * .envoy.config.route.v3.RouteAction route = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder getRouteOrBuilder() { if (actionCase_ == 2) { return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_; } return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } public static final int REDIRECT_FIELD_NUMBER = 3; /** *
   * Return a redirect.
   * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; * @return Whether the redirect field is set. */ @java.lang.Override public boolean hasRedirect() { return actionCase_ == 3; } /** *
   * Return a redirect.
   * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; * @return The redirect. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RedirectAction getRedirect() { if (actionCase_ == 3) { return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_; } return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } /** *
   * Return a redirect.
   * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder getRedirectOrBuilder() { if (actionCase_ == 3) { return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_; } return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } public static final int DIRECT_RESPONSE_FIELD_NUMBER = 7; /** *
   * Return an arbitrary HTTP response directly, without proxying.
   * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; * @return Whether the directResponse field is set. */ @java.lang.Override public boolean hasDirectResponse() { return actionCase_ == 7; } /** *
   * Return an arbitrary HTTP response directly, without proxying.
   * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; * @return The directResponse. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.DirectResponseAction getDirectResponse() { if (actionCase_ == 7) { return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_; } return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } /** *
   * Return an arbitrary HTTP response directly, without proxying.
   * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder getDirectResponseOrBuilder() { if (actionCase_ == 7) { return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_; } return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } public static final int FILTER_ACTION_FIELD_NUMBER = 17; /** *
   * [#not-implemented-hide:]
   * A filter-defined action (e.g., it could dynamically generate the RouteAction).
   * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
   * implemented]
   * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; * @return Whether the filterAction field is set. */ @java.lang.Override public boolean hasFilterAction() { return actionCase_ == 17; } /** *
   * [#not-implemented-hide:]
   * A filter-defined action (e.g., it could dynamically generate the RouteAction).
   * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
   * implemented]
   * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; * @return The filterAction. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.FilterAction getFilterAction() { if (actionCase_ == 17) { return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_; } return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } /** *
   * [#not-implemented-hide:]
   * A filter-defined action (e.g., it could dynamically generate the RouteAction).
   * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
   * implemented]
   * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder getFilterActionOrBuilder() { if (actionCase_ == 17) { return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_; } return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } public static final int NON_FORWARDING_ACTION_FIELD_NUMBER = 18; /** *
   * [#not-implemented-hide:]
   * An action used when the route will generate a response directly,
   * without forwarding to an upstream host. This will be used in non-proxy
   * xDS clients like the gRPC server. It could also be used in the future
   * in Envoy for a filter that directly generates responses for requests.
   * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; * @return Whether the nonForwardingAction field is set. */ @java.lang.Override public boolean hasNonForwardingAction() { return actionCase_ == 18; } /** *
   * [#not-implemented-hide:]
   * An action used when the route will generate a response directly,
   * without forwarding to an upstream host. This will be used in non-proxy
   * xDS clients like the gRPC server. It could also be used in the future
   * in Envoy for a filter that directly generates responses for requests.
   * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; * @return The nonForwardingAction. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.NonForwardingAction getNonForwardingAction() { if (actionCase_ == 18) { return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_; } return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } /** *
   * [#not-implemented-hide:]
   * An action used when the route will generate a response directly,
   * without forwarding to an upstream host. This will be used in non-proxy
   * xDS clients like the gRPC server. It could also be used in the future
   * in Envoy for a filter that directly generates responses for requests.
   * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder getNonForwardingActionOrBuilder() { if (actionCase_ == 18) { return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_; } return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } public static final int METADATA_FIELD_NUMBER = 4; private io.envoyproxy.envoy.config.core.v3.Metadata metadata_; /** *
   * The Metadata field can be used to provide additional information
   * about the route. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 4; * @return Whether the metadata field is set. */ @java.lang.Override public boolean hasMetadata() { return ((bitField0_ & 0x00000002) != 0); } /** *
   * The Metadata field can be used to provide additional information
   * about the route. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 4; * @return The metadata. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Metadata getMetadata() { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } /** *
   * The Metadata field can be used to provide additional information
   * about the route. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder() { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } public static final int DECORATOR_FIELD_NUMBER = 5; private io.envoyproxy.envoy.config.route.v3.Decorator decorator_; /** *
   * Decorator for the matched route.
   * 
* * .envoy.config.route.v3.Decorator decorator = 5; * @return Whether the decorator field is set. */ @java.lang.Override public boolean hasDecorator() { return ((bitField0_ & 0x00000004) != 0); } /** *
   * Decorator for the matched route.
   * 
* * .envoy.config.route.v3.Decorator decorator = 5; * @return The decorator. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Decorator getDecorator() { return decorator_ == null ? io.envoyproxy.envoy.config.route.v3.Decorator.getDefaultInstance() : decorator_; } /** *
   * Decorator for the matched route.
   * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder getDecoratorOrBuilder() { return decorator_ == null ? io.envoyproxy.envoy.config.route.v3.Decorator.getDefaultInstance() : decorator_; } public static final int TYPED_PER_FILTER_CONFIG_FIELD_NUMBER = 13; private static final class TypedPerFilterConfigDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, com.google.protobuf.Any> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_TypedPerFilterConfigEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.MESSAGE, com.google.protobuf.Any.getDefaultInstance()); } @SuppressWarnings("serial") private com.google.protobuf.MapField< java.lang.String, com.google.protobuf.Any> typedPerFilterConfig_; private com.google.protobuf.MapField internalGetTypedPerFilterConfig() { if (typedPerFilterConfig_ == null) { return com.google.protobuf.MapField.emptyMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } return typedPerFilterConfig_; } public int getTypedPerFilterConfigCount() { return internalGetTypedPerFilterConfig().getMap().size(); } /** *
   * This field can be used to provide route specific per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public boolean containsTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } return internalGetTypedPerFilterConfig().getMap().containsKey(key); } /** * Use {@link #getTypedPerFilterConfigMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getTypedPerFilterConfig() { return getTypedPerFilterConfigMap(); } /** *
   * This field can be used to provide route specific per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public java.util.Map getTypedPerFilterConfigMap() { return internalGetTypedPerFilterConfig().getMap(); } /** *
   * This field can be used to provide route specific per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public /* nullable */ com.google.protobuf.Any getTypedPerFilterConfigOrDefault( java.lang.String key, /* nullable */ com.google.protobuf.Any defaultValue) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
   * This field can be used to provide route specific per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrThrow( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 9; @SuppressWarnings("serial") private java.util.List requestHeadersToAdd_; /** *
   * Specifies a set of headers that will be added to requests matching this
   * route. Headers specified at this level are applied before headers from the
   * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getRequestHeadersToAddList() { return requestHeadersToAdd_; } /** *
   * Specifies a set of headers that will be added to requests matching this
   * route. Headers specified at this level are applied before headers from the
   * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getRequestHeadersToAddOrBuilderList() { return requestHeadersToAdd_; } /** *
   * Specifies a set of headers that will be added to requests matching this
   * route. Headers specified at this level are applied before headers from the
   * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ @java.lang.Override public int getRequestHeadersToAddCount() { return requestHeadersToAdd_.size(); } /** *
   * Specifies a set of headers that will be added to requests matching this
   * route. Headers specified at this level are applied before headers from the
   * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HeaderValueOption getRequestHeadersToAdd(int index) { return requestHeadersToAdd_.get(index); } /** *
   * Specifies a set of headers that will be added to requests matching this
   * route. Headers specified at this level are applied before headers from the
   * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder( int index) { return requestHeadersToAdd_.get(index); } public static final int REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER = 12; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * matching this route.
   * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @return A list containing the requestHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList() { return requestHeadersToRemove_; } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * matching this route.
   * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @return The count of requestHeadersToRemove. */ public int getRequestHeadersToRemoveCount() { return requestHeadersToRemove_.size(); } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * matching this route.
   * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The requestHeadersToRemove at the given index. */ public java.lang.String getRequestHeadersToRemove(int index) { return requestHeadersToRemove_.get(index); } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * matching this route.
   * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the requestHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getRequestHeadersToRemoveBytes(int index) { return requestHeadersToRemove_.getByteString(index); } public static final int RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER = 10; @SuppressWarnings("serial") private java.util.List responseHeadersToAdd_; /** *
   * Specifies a set of headers that will be added to responses to requests
   * matching this route. Headers specified at this level are applied before
   * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
   * details on header value syntax, see the documentation on
   * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResponseHeadersToAddList() { return responseHeadersToAdd_; } /** *
   * Specifies a set of headers that will be added to responses to requests
   * matching this route. Headers specified at this level are applied before
   * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
   * details on header value syntax, see the documentation on
   * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResponseHeadersToAddOrBuilderList() { return responseHeadersToAdd_; } /** *
   * Specifies a set of headers that will be added to responses to requests
   * matching this route. Headers specified at this level are applied before
   * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
   * details on header value syntax, see the documentation on
   * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ @java.lang.Override public int getResponseHeadersToAddCount() { return responseHeadersToAdd_.size(); } /** *
   * Specifies a set of headers that will be added to responses to requests
   * matching this route. Headers specified at this level are applied before
   * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
   * details on header value syntax, see the documentation on
   * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HeaderValueOption getResponseHeadersToAdd(int index) { return responseHeadersToAdd_.get(index); } /** *
   * Specifies a set of headers that will be added to responses to requests
   * matching this route. Headers specified at this level are applied before
   * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
   * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
   * details on header value syntax, see the documentation on
   * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder( int index) { return responseHeadersToAdd_.get(index); } public static final int RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER = 11; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * to requests matching this route.
   * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @return A list containing the responseHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList() { return responseHeadersToRemove_; } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * to requests matching this route.
   * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @return The count of responseHeadersToRemove. */ public int getResponseHeadersToRemoveCount() { return responseHeadersToRemove_.size(); } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * to requests matching this route.
   * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The responseHeadersToRemove at the given index. */ public java.lang.String getResponseHeadersToRemove(int index) { return responseHeadersToRemove_.get(index); } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * to requests matching this route.
   * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the responseHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getResponseHeadersToRemoveBytes(int index) { return responseHeadersToRemove_.getByteString(index); } public static final int TRACING_FIELD_NUMBER = 15; private io.envoyproxy.envoy.config.route.v3.Tracing tracing_; /** *
   * Presence of the object defines whether the connection manager's tracing configuration
   * is overridden by this route specific instance.
   * 
* * .envoy.config.route.v3.Tracing tracing = 15; * @return Whether the tracing field is set. */ @java.lang.Override public boolean hasTracing() { return ((bitField0_ & 0x00000008) != 0); } /** *
   * Presence of the object defines whether the connection manager's tracing configuration
   * is overridden by this route specific instance.
   * 
* * .envoy.config.route.v3.Tracing tracing = 15; * @return The tracing. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Tracing getTracing() { return tracing_ == null ? io.envoyproxy.envoy.config.route.v3.Tracing.getDefaultInstance() : tracing_; } /** *
   * Presence of the object defines whether the connection manager's tracing configuration
   * is overridden by this route specific instance.
   * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.TracingOrBuilder getTracingOrBuilder() { return tracing_ == null ? io.envoyproxy.envoy.config.route.v3.Tracing.getDefaultInstance() : tracing_; } public static final int PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER = 16; private com.google.protobuf.UInt32Value perRequestBufferLimitBytes_; /** *
   * The maximum bytes which will be buffered for retries and shadowing.
   * If set, the bytes actually buffered will be the minimum value of this and the
   * listener per_connection_buffer_limit_bytes.
   * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; * @return Whether the perRequestBufferLimitBytes field is set. */ @java.lang.Override public boolean hasPerRequestBufferLimitBytes() { return ((bitField0_ & 0x00000010) != 0); } /** *
   * The maximum bytes which will be buffered for retries and shadowing.
   * If set, the bytes actually buffered will be the minimum value of this and the
   * listener per_connection_buffer_limit_bytes.
   * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; * @return The perRequestBufferLimitBytes. */ @java.lang.Override public com.google.protobuf.UInt32Value getPerRequestBufferLimitBytes() { return perRequestBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perRequestBufferLimitBytes_; } /** *
   * The maximum bytes which will be buffered for retries and shadowing.
   * If set, the bytes actually buffered will be the minimum value of this and the
   * listener per_connection_buffer_limit_bytes.
   * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ @java.lang.Override public com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder() { return perRequestBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perRequestBufferLimitBytes_; } public static final int STAT_PREFIX_FIELD_NUMBER = 19; @SuppressWarnings("serial") private volatile java.lang.Object statPrefix_ = ""; /** *
   * The human readable prefix to use when emitting statistics for this endpoint.
   * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
   * This should be set for highly critical
   * endpoints that one wishes to get “per-route” statistics on.
   * If not set, endpoint statistics are not generated.
   *
   * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
   *
   * .. warning::
   *
   *    We do not recommend setting up a stat prefix for
   *    every application endpoint. This is both not easily maintainable and
   *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
   * 
* * string stat_prefix = 19; * @return The statPrefix. */ @java.lang.Override public java.lang.String getStatPrefix() { java.lang.Object ref = statPrefix_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); statPrefix_ = s; return s; } } /** *
   * The human readable prefix to use when emitting statistics for this endpoint.
   * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
   * This should be set for highly critical
   * endpoints that one wishes to get “per-route” statistics on.
   * If not set, endpoint statistics are not generated.
   *
   * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
   *
   * .. warning::
   *
   *    We do not recommend setting up a stat prefix for
   *    every application endpoint. This is both not easily maintainable and
   *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
   * 
* * string stat_prefix = 19; * @return The bytes for statPrefix. */ @java.lang.Override public com.google.protobuf.ByteString getStatPrefixBytes() { java.lang.Object ref = statPrefix_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); statPrefix_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(1, getMatch()); } if (actionCase_ == 2) { output.writeMessage(2, (io.envoyproxy.envoy.config.route.v3.RouteAction) action_); } if (actionCase_ == 3) { output.writeMessage(3, (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(4, getMetadata()); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(5, getDecorator()); } if (actionCase_ == 7) { output.writeMessage(7, (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_); } for (int i = 0; i < requestHeadersToAdd_.size(); i++) { output.writeMessage(9, requestHeadersToAdd_.get(i)); } for (int i = 0; i < responseHeadersToAdd_.size(); i++) { output.writeMessage(10, responseHeadersToAdd_.get(i)); } for (int i = 0; i < responseHeadersToRemove_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 11, responseHeadersToRemove_.getRaw(i)); } for (int i = 0; i < requestHeadersToRemove_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 12, requestHeadersToRemove_.getRaw(i)); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetTypedPerFilterConfig(), TypedPerFilterConfigDefaultEntryHolder.defaultEntry, 13); if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 14, name_); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(15, getTracing()); } if (((bitField0_ & 0x00000010) != 0)) { output.writeMessage(16, getPerRequestBufferLimitBytes()); } if (actionCase_ == 17) { output.writeMessage(17, (io.envoyproxy.envoy.config.route.v3.FilterAction) action_); } if (actionCase_ == 18) { output.writeMessage(18, (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statPrefix_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 19, statPrefix_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getMatch()); } if (actionCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, (io.envoyproxy.envoy.config.route.v3.RouteAction) action_); } if (actionCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getMetadata()); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getDecorator()); } if (actionCase_ == 7) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_); } for (int i = 0; i < requestHeadersToAdd_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, requestHeadersToAdd_.get(i)); } for (int i = 0; i < responseHeadersToAdd_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(10, responseHeadersToAdd_.get(i)); } { int dataSize = 0; for (int i = 0; i < responseHeadersToRemove_.size(); i++) { dataSize += computeStringSizeNoTag(responseHeadersToRemove_.getRaw(i)); } size += dataSize; size += 1 * getResponseHeadersToRemoveList().size(); } { int dataSize = 0; for (int i = 0; i < requestHeadersToRemove_.size(); i++) { dataSize += computeStringSizeNoTag(requestHeadersToRemove_.getRaw(i)); } size += dataSize; size += 1 * getRequestHeadersToRemoveList().size(); } for (java.util.Map.Entry entry : internalGetTypedPerFilterConfig().getMap().entrySet()) { com.google.protobuf.MapEntry typedPerFilterConfig__ = TypedPerFilterConfigDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, typedPerFilterConfig__); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, name_); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(15, getTracing()); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(16, getPerRequestBufferLimitBytes()); } if (actionCase_ == 17) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(17, (io.envoyproxy.envoy.config.route.v3.FilterAction) action_); } if (actionCase_ == 18) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(18, (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(statPrefix_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, statPrefix_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.config.route.v3.Route)) { return super.equals(obj); } io.envoyproxy.envoy.config.route.v3.Route other = (io.envoyproxy.envoy.config.route.v3.Route) obj; if (!getName() .equals(other.getName())) return false; if (hasMatch() != other.hasMatch()) return false; if (hasMatch()) { if (!getMatch() .equals(other.getMatch())) return false; } if (hasMetadata() != other.hasMetadata()) return false; if (hasMetadata()) { if (!getMetadata() .equals(other.getMetadata())) return false; } if (hasDecorator() != other.hasDecorator()) return false; if (hasDecorator()) { if (!getDecorator() .equals(other.getDecorator())) return false; } if (!internalGetTypedPerFilterConfig().equals( other.internalGetTypedPerFilterConfig())) return false; if (!getRequestHeadersToAddList() .equals(other.getRequestHeadersToAddList())) return false; if (!getRequestHeadersToRemoveList() .equals(other.getRequestHeadersToRemoveList())) return false; if (!getResponseHeadersToAddList() .equals(other.getResponseHeadersToAddList())) return false; if (!getResponseHeadersToRemoveList() .equals(other.getResponseHeadersToRemoveList())) return false; if (hasTracing() != other.hasTracing()) return false; if (hasTracing()) { if (!getTracing() .equals(other.getTracing())) return false; } if (hasPerRequestBufferLimitBytes() != other.hasPerRequestBufferLimitBytes()) return false; if (hasPerRequestBufferLimitBytes()) { if (!getPerRequestBufferLimitBytes() .equals(other.getPerRequestBufferLimitBytes())) return false; } if (!getStatPrefix() .equals(other.getStatPrefix())) return false; if (!getActionCase().equals(other.getActionCase())) return false; switch (actionCase_) { case 2: if (!getRoute() .equals(other.getRoute())) return false; break; case 3: if (!getRedirect() .equals(other.getRedirect())) return false; break; case 7: if (!getDirectResponse() .equals(other.getDirectResponse())) return false; break; case 17: if (!getFilterAction() .equals(other.getFilterAction())) return false; break; case 18: if (!getNonForwardingAction() .equals(other.getNonForwardingAction())) return false; break; case 0: default: } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); if (hasMatch()) { hash = (37 * hash) + MATCH_FIELD_NUMBER; hash = (53 * hash) + getMatch().hashCode(); } if (hasMetadata()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + getMetadata().hashCode(); } if (hasDecorator()) { hash = (37 * hash) + DECORATOR_FIELD_NUMBER; hash = (53 * hash) + getDecorator().hashCode(); } if (!internalGetTypedPerFilterConfig().getMap().isEmpty()) { hash = (37 * hash) + TYPED_PER_FILTER_CONFIG_FIELD_NUMBER; hash = (53 * hash) + internalGetTypedPerFilterConfig().hashCode(); } if (getRequestHeadersToAddCount() > 0) { hash = (37 * hash) + REQUEST_HEADERS_TO_ADD_FIELD_NUMBER; hash = (53 * hash) + getRequestHeadersToAddList().hashCode(); } if (getRequestHeadersToRemoveCount() > 0) { hash = (37 * hash) + REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER; hash = (53 * hash) + getRequestHeadersToRemoveList().hashCode(); } if (getResponseHeadersToAddCount() > 0) { hash = (37 * hash) + RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER; hash = (53 * hash) + getResponseHeadersToAddList().hashCode(); } if (getResponseHeadersToRemoveCount() > 0) { hash = (37 * hash) + RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER; hash = (53 * hash) + getResponseHeadersToRemoveList().hashCode(); } if (hasTracing()) { hash = (37 * hash) + TRACING_FIELD_NUMBER; hash = (53 * hash) + getTracing().hashCode(); } if (hasPerRequestBufferLimitBytes()) { hash = (37 * hash) + PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER; hash = (53 * hash) + getPerRequestBufferLimitBytes().hashCode(); } hash = (37 * hash) + STAT_PREFIX_FIELD_NUMBER; hash = (53 * hash) + getStatPrefix().hashCode(); switch (actionCase_) { case 2: hash = (37 * hash) + ROUTE_FIELD_NUMBER; hash = (53 * hash) + getRoute().hashCode(); break; case 3: hash = (37 * hash) + REDIRECT_FIELD_NUMBER; hash = (53 * hash) + getRedirect().hashCode(); break; case 7: hash = (37 * hash) + DIRECT_RESPONSE_FIELD_NUMBER; hash = (53 * hash) + getDirectResponse().hashCode(); break; case 17: hash = (37 * hash) + FILTER_ACTION_FIELD_NUMBER; hash = (53 * hash) + getFilterAction().hashCode(); break; case 18: hash = (37 * hash) + NON_FORWARDING_ACTION_FIELD_NUMBER; hash = (53 * hash) + getNonForwardingAction().hashCode(); break; case 0: default: } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.Route parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.Route parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.Route parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.config.route.v3.Route prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * A route is both a specification of how to match a request as well as an indication of what to do
   * next (e.g., redirect, forward, rewrite, etc.).
   *
   * .. attention::
   *
   *   Envoy supports routing on HTTP method via :ref:`header matching
   *   <envoy_v3_api_msg_config.route.v3.HeaderMatcher>`.
   * [#next-free-field: 20]
   * 
* * Protobuf type {@code envoy.config.route.v3.Route} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.config.route.v3.Route) io.envoyproxy.envoy.config.route.v3.RouteOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( int number) { switch (number) { case 13: return internalGetTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( int number) { switch (number) { case 13: return internalGetMutableTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.config.route.v3.Route.class, io.envoyproxy.envoy.config.route.v3.Route.Builder.class); } // Construct using io.envoyproxy.envoy.config.route.v3.Route.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getMatchFieldBuilder(); getMetadataFieldBuilder(); getDecoratorFieldBuilder(); getRequestHeadersToAddFieldBuilder(); getResponseHeadersToAddFieldBuilder(); getTracingFieldBuilder(); getPerRequestBufferLimitBytesFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; name_ = ""; match_ = null; if (matchBuilder_ != null) { matchBuilder_.dispose(); matchBuilder_ = null; } if (routeBuilder_ != null) { routeBuilder_.clear(); } if (redirectBuilder_ != null) { redirectBuilder_.clear(); } if (directResponseBuilder_ != null) { directResponseBuilder_.clear(); } if (filterActionBuilder_ != null) { filterActionBuilder_.clear(); } if (nonForwardingActionBuilder_ != null) { nonForwardingActionBuilder_.clear(); } metadata_ = null; if (metadataBuilder_ != null) { metadataBuilder_.dispose(); metadataBuilder_ = null; } decorator_ = null; if (decoratorBuilder_ != null) { decoratorBuilder_.dispose(); decoratorBuilder_ = null; } internalGetMutableTypedPerFilterConfig().clear(); if (requestHeadersToAddBuilder_ == null) { requestHeadersToAdd_ = java.util.Collections.emptyList(); } else { requestHeadersToAdd_ = null; requestHeadersToAddBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000400); requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); if (responseHeadersToAddBuilder_ == null) { responseHeadersToAdd_ = java.util.Collections.emptyList(); } else { responseHeadersToAdd_ = null; responseHeadersToAddBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00001000); responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); tracing_ = null; if (tracingBuilder_ != null) { tracingBuilder_.dispose(); tracingBuilder_ = null; } perRequestBufferLimitBytes_ = null; if (perRequestBufferLimitBytesBuilder_ != null) { perRequestBufferLimitBytesBuilder_.dispose(); perRequestBufferLimitBytesBuilder_ = null; } statPrefix_ = ""; actionCase_ = 0; action_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.config.route.v3.RouteComponentsProto.internal_static_envoy_config_route_v3_Route_descriptor; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Route getDefaultInstanceForType() { return io.envoyproxy.envoy.config.route.v3.Route.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Route build() { io.envoyproxy.envoy.config.route.v3.Route result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Route buildPartial() { io.envoyproxy.envoy.config.route.v3.Route result = new io.envoyproxy.envoy.config.route.v3.Route(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } buildPartialOneofs(result); onBuilt(); return result; } private void buildPartialRepeatedFields(io.envoyproxy.envoy.config.route.v3.Route result) { if (requestHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00000400) != 0)) { requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00000400); } result.requestHeadersToAdd_ = requestHeadersToAdd_; } else { result.requestHeadersToAdd_ = requestHeadersToAddBuilder_.build(); } if (responseHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00001000) != 0)) { responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00001000); } result.responseHeadersToAdd_ = responseHeadersToAdd_; } else { result.responseHeadersToAdd_ = responseHeadersToAddBuilder_.build(); } } private void buildPartial0(io.envoyproxy.envoy.config.route.v3.Route result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.name_ = name_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000002) != 0)) { result.match_ = matchBuilder_ == null ? match_ : matchBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000080) != 0)) { result.metadata_ = metadataBuilder_ == null ? metadata_ : metadataBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000100) != 0)) { result.decorator_ = decoratorBuilder_ == null ? decorator_ : decoratorBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000200) != 0)) { result.typedPerFilterConfig_ = internalGetTypedPerFilterConfig().build(TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } if (((from_bitField0_ & 0x00000800) != 0)) { requestHeadersToRemove_.makeImmutable(); result.requestHeadersToRemove_ = requestHeadersToRemove_; } if (((from_bitField0_ & 0x00002000) != 0)) { responseHeadersToRemove_.makeImmutable(); result.responseHeadersToRemove_ = responseHeadersToRemove_; } if (((from_bitField0_ & 0x00004000) != 0)) { result.tracing_ = tracingBuilder_ == null ? tracing_ : tracingBuilder_.build(); to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00008000) != 0)) { result.perRequestBufferLimitBytes_ = perRequestBufferLimitBytesBuilder_ == null ? perRequestBufferLimitBytes_ : perRequestBufferLimitBytesBuilder_.build(); to_bitField0_ |= 0x00000010; } if (((from_bitField0_ & 0x00010000) != 0)) { result.statPrefix_ = statPrefix_; } result.bitField0_ |= to_bitField0_; } private void buildPartialOneofs(io.envoyproxy.envoy.config.route.v3.Route result) { result.actionCase_ = actionCase_; result.action_ = this.action_; if (actionCase_ == 2 && routeBuilder_ != null) { result.action_ = routeBuilder_.build(); } if (actionCase_ == 3 && redirectBuilder_ != null) { result.action_ = redirectBuilder_.build(); } if (actionCase_ == 7 && directResponseBuilder_ != null) { result.action_ = directResponseBuilder_.build(); } if (actionCase_ == 17 && filterActionBuilder_ != null) { result.action_ = filterActionBuilder_.build(); } if (actionCase_ == 18 && nonForwardingActionBuilder_ != null) { result.action_ = nonForwardingActionBuilder_.build(); } } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.config.route.v3.Route) { return mergeFrom((io.envoyproxy.envoy.config.route.v3.Route)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.Route other) { if (other == io.envoyproxy.envoy.config.route.v3.Route.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasMatch()) { mergeMatch(other.getMatch()); } if (other.hasMetadata()) { mergeMetadata(other.getMetadata()); } if (other.hasDecorator()) { mergeDecorator(other.getDecorator()); } internalGetMutableTypedPerFilterConfig().mergeFrom( other.internalGetTypedPerFilterConfig()); bitField0_ |= 0x00000200; if (requestHeadersToAddBuilder_ == null) { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAdd_.isEmpty()) { requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000400); } else { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.addAll(other.requestHeadersToAdd_); } onChanged(); } } else { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAddBuilder_.isEmpty()) { requestHeadersToAddBuilder_.dispose(); requestHeadersToAddBuilder_ = null; requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000400); requestHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRequestHeadersToAddFieldBuilder() : null; } else { requestHeadersToAddBuilder_.addAllMessages(other.requestHeadersToAdd_); } } } if (!other.requestHeadersToRemove_.isEmpty()) { if (requestHeadersToRemove_.isEmpty()) { requestHeadersToRemove_ = other.requestHeadersToRemove_; bitField0_ |= 0x00000800; } else { ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.addAll(other.requestHeadersToRemove_); } onChanged(); } if (responseHeadersToAddBuilder_ == null) { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAdd_.isEmpty()) { responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00001000); } else { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.addAll(other.responseHeadersToAdd_); } onChanged(); } } else { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAddBuilder_.isEmpty()) { responseHeadersToAddBuilder_.dispose(); responseHeadersToAddBuilder_ = null; responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00001000); responseHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getResponseHeadersToAddFieldBuilder() : null; } else { responseHeadersToAddBuilder_.addAllMessages(other.responseHeadersToAdd_); } } } if (!other.responseHeadersToRemove_.isEmpty()) { if (responseHeadersToRemove_.isEmpty()) { responseHeadersToRemove_ = other.responseHeadersToRemove_; bitField0_ |= 0x00002000; } else { ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.addAll(other.responseHeadersToRemove_); } onChanged(); } if (other.hasTracing()) { mergeTracing(other.getTracing()); } if (other.hasPerRequestBufferLimitBytes()) { mergePerRequestBufferLimitBytes(other.getPerRequestBufferLimitBytes()); } if (!other.getStatPrefix().isEmpty()) { statPrefix_ = other.statPrefix_; bitField0_ |= 0x00010000; onChanged(); } switch (other.getActionCase()) { case ROUTE: { mergeRoute(other.getRoute()); break; } case REDIRECT: { mergeRedirect(other.getRedirect()); break; } case DIRECT_RESPONSE: { mergeDirectResponse(other.getDirectResponse()); break; } case FILTER_ACTION: { mergeFilterAction(other.getFilterAction()); break; } case NON_FORWARDING_ACTION: { mergeNonForwardingAction(other.getNonForwardingAction()); break; } case ACTION_NOT_SET: { break; } } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage( getMatchFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 10 case 18: { input.readMessage( getRouteFieldBuilder().getBuilder(), extensionRegistry); actionCase_ = 2; break; } // case 18 case 26: { input.readMessage( getRedirectFieldBuilder().getBuilder(), extensionRegistry); actionCase_ = 3; break; } // case 26 case 34: { input.readMessage( getMetadataFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 34 case 42: { input.readMessage( getDecoratorFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000100; break; } // case 42 case 58: { input.readMessage( getDirectResponseFieldBuilder().getBuilder(), extensionRegistry); actionCase_ = 7; break; } // case 58 case 74: { io.envoyproxy.envoy.config.core.v3.HeaderValueOption m = input.readMessage( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry); if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(m); } else { requestHeadersToAddBuilder_.addMessage(m); } break; } // case 74 case 82: { io.envoyproxy.envoy.config.core.v3.HeaderValueOption m = input.readMessage( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry); if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(m); } else { responseHeadersToAddBuilder_.addMessage(m); } break; } // case 82 case 90: { java.lang.String s = input.readStringRequireUtf8(); ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.add(s); break; } // case 90 case 98: { java.lang.String s = input.readStringRequireUtf8(); ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.add(s); break; } // case 98 case 106: { com.google.protobuf.MapEntry typedPerFilterConfig__ = input.readMessage( TypedPerFilterConfigDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); internalGetMutableTypedPerFilterConfig().ensureBuilderMap().put( typedPerFilterConfig__.getKey(), typedPerFilterConfig__.getValue()); bitField0_ |= 0x00000200; break; } // case 106 case 114: { name_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 114 case 122: { input.readMessage( getTracingFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00004000; break; } // case 122 case 130: { input.readMessage( getPerRequestBufferLimitBytesFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00008000; break; } // case 130 case 138: { input.readMessage( getFilterActionFieldBuilder().getBuilder(), extensionRegistry); actionCase_ = 17; break; } // case 138 case 146: { input.readMessage( getNonForwardingActionFieldBuilder().getBuilder(), extensionRegistry); actionCase_ = 18; break; } // case 146 case 154: { statPrefix_ = input.readStringRequireUtf8(); bitField0_ |= 0x00010000; break; } // case 154 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int actionCase_ = 0; private java.lang.Object action_; public ActionCase getActionCase() { return ActionCase.forNumber( actionCase_); } public Builder clearAction() { actionCase_ = 0; action_ = null; onChanged(); return this; } private int bitField0_; private java.lang.Object name_ = ""; /** *
     * Name for the route.
     * 
* * string name = 14; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * Name for the route.
     * 
* * string name = 14; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * Name for the route.
     * 
* * string name = 14; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * Name for the route.
     * 
* * string name = 14; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
     * Name for the route.
     * 
* * string name = 14; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private io.envoyproxy.envoy.config.route.v3.RouteMatch match_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteMatch, io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder, io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder> matchBuilder_; /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } * @return Whether the match field is set. */ public boolean hasMatch() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } * @return The match. */ public io.envoyproxy.envoy.config.route.v3.RouteMatch getMatch() { if (matchBuilder_ == null) { return match_ == null ? io.envoyproxy.envoy.config.route.v3.RouteMatch.getDefaultInstance() : match_; } else { return matchBuilder_.getMessage(); } } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public Builder setMatch(io.envoyproxy.envoy.config.route.v3.RouteMatch value) { if (matchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } match_ = value; } else { matchBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public Builder setMatch( io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder builderForValue) { if (matchBuilder_ == null) { match_ = builderForValue.build(); } else { matchBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public Builder mergeMatch(io.envoyproxy.envoy.config.route.v3.RouteMatch value) { if (matchBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && match_ != null && match_ != io.envoyproxy.envoy.config.route.v3.RouteMatch.getDefaultInstance()) { getMatchBuilder().mergeFrom(value); } else { match_ = value; } } else { matchBuilder_.mergeFrom(value); } if (match_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public Builder clearMatch() { bitField0_ = (bitField0_ & ~0x00000002); match_ = null; if (matchBuilder_ != null) { matchBuilder_.dispose(); matchBuilder_ = null; } onChanged(); return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder getMatchBuilder() { bitField0_ |= 0x00000002; onChanged(); return getMatchFieldBuilder().getBuilder(); } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder getMatchOrBuilder() { if (matchBuilder_ != null) { return matchBuilder_.getMessageOrBuilder(); } else { return match_ == null ? io.envoyproxy.envoy.config.route.v3.RouteMatch.getDefaultInstance() : match_; } } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteMatch, io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder, io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder> getMatchFieldBuilder() { if (matchBuilder_ == null) { matchBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteMatch, io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder, io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder>( getMatch(), getParentForChildren(), isClean()); match_ = null; } return matchBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction, io.envoyproxy.envoy.config.route.v3.RouteAction.Builder, io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder> routeBuilder_; /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; * @return Whether the route field is set. */ @java.lang.Override public boolean hasRoute() { return actionCase_ == 2; } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; * @return The route. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteAction getRoute() { if (routeBuilder_ == null) { if (actionCase_ == 2) { return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_; } return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } else { if (actionCase_ == 2) { return routeBuilder_.getMessage(); } return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ public Builder setRoute(io.envoyproxy.envoy.config.route.v3.RouteAction value) { if (routeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } action_ = value; onChanged(); } else { routeBuilder_.setMessage(value); } actionCase_ = 2; return this; } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ public Builder setRoute( io.envoyproxy.envoy.config.route.v3.RouteAction.Builder builderForValue) { if (routeBuilder_ == null) { action_ = builderForValue.build(); onChanged(); } else { routeBuilder_.setMessage(builderForValue.build()); } actionCase_ = 2; return this; } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ public Builder mergeRoute(io.envoyproxy.envoy.config.route.v3.RouteAction value) { if (routeBuilder_ == null) { if (actionCase_ == 2 && action_ != io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance()) { action_ = io.envoyproxy.envoy.config.route.v3.RouteAction.newBuilder((io.envoyproxy.envoy.config.route.v3.RouteAction) action_) .mergeFrom(value).buildPartial(); } else { action_ = value; } onChanged(); } else { if (actionCase_ == 2) { routeBuilder_.mergeFrom(value); } else { routeBuilder_.setMessage(value); } } actionCase_ = 2; return this; } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ public Builder clearRoute() { if (routeBuilder_ == null) { if (actionCase_ == 2) { actionCase_ = 0; action_ = null; onChanged(); } } else { if (actionCase_ == 2) { actionCase_ = 0; action_ = null; } routeBuilder_.clear(); } return this; } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.Builder getRouteBuilder() { return getRouteFieldBuilder().getBuilder(); } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder getRouteOrBuilder() { if ((actionCase_ == 2) && (routeBuilder_ != null)) { return routeBuilder_.getMessageOrBuilder(); } else { if (actionCase_ == 2) { return (io.envoyproxy.envoy.config.route.v3.RouteAction) action_; } return io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } } /** *
     * Route request to some upstream cluster.
     * 
* * .envoy.config.route.v3.RouteAction route = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction, io.envoyproxy.envoy.config.route.v3.RouteAction.Builder, io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder> getRouteFieldBuilder() { if (routeBuilder_ == null) { if (!(actionCase_ == 2)) { action_ = io.envoyproxy.envoy.config.route.v3.RouteAction.getDefaultInstance(); } routeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction, io.envoyproxy.envoy.config.route.v3.RouteAction.Builder, io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder>( (io.envoyproxy.envoy.config.route.v3.RouteAction) action_, getParentForChildren(), isClean()); action_ = null; } actionCase_ = 2; onChanged(); return routeBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RedirectAction, io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder, io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder> redirectBuilder_; /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; * @return Whether the redirect field is set. */ @java.lang.Override public boolean hasRedirect() { return actionCase_ == 3; } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; * @return The redirect. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RedirectAction getRedirect() { if (redirectBuilder_ == null) { if (actionCase_ == 3) { return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_; } return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } else { if (actionCase_ == 3) { return redirectBuilder_.getMessage(); } return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ public Builder setRedirect(io.envoyproxy.envoy.config.route.v3.RedirectAction value) { if (redirectBuilder_ == null) { if (value == null) { throw new NullPointerException(); } action_ = value; onChanged(); } else { redirectBuilder_.setMessage(value); } actionCase_ = 3; return this; } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ public Builder setRedirect( io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder builderForValue) { if (redirectBuilder_ == null) { action_ = builderForValue.build(); onChanged(); } else { redirectBuilder_.setMessage(builderForValue.build()); } actionCase_ = 3; return this; } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ public Builder mergeRedirect(io.envoyproxy.envoy.config.route.v3.RedirectAction value) { if (redirectBuilder_ == null) { if (actionCase_ == 3 && action_ != io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance()) { action_ = io.envoyproxy.envoy.config.route.v3.RedirectAction.newBuilder((io.envoyproxy.envoy.config.route.v3.RedirectAction) action_) .mergeFrom(value).buildPartial(); } else { action_ = value; } onChanged(); } else { if (actionCase_ == 3) { redirectBuilder_.mergeFrom(value); } else { redirectBuilder_.setMessage(value); } } actionCase_ = 3; return this; } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ public Builder clearRedirect() { if (redirectBuilder_ == null) { if (actionCase_ == 3) { actionCase_ = 0; action_ = null; onChanged(); } } else { if (actionCase_ == 3) { actionCase_ = 0; action_ = null; } redirectBuilder_.clear(); } return this; } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ public io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder getRedirectBuilder() { return getRedirectFieldBuilder().getBuilder(); } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder getRedirectOrBuilder() { if ((actionCase_ == 3) && (redirectBuilder_ != null)) { return redirectBuilder_.getMessageOrBuilder(); } else { if (actionCase_ == 3) { return (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_; } return io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } } /** *
     * Return a redirect.
     * 
* * .envoy.config.route.v3.RedirectAction redirect = 3; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RedirectAction, io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder, io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder> getRedirectFieldBuilder() { if (redirectBuilder_ == null) { if (!(actionCase_ == 3)) { action_ = io.envoyproxy.envoy.config.route.v3.RedirectAction.getDefaultInstance(); } redirectBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RedirectAction, io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder, io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder>( (io.envoyproxy.envoy.config.route.v3.RedirectAction) action_, getParentForChildren(), isClean()); action_ = null; } actionCase_ = 3; onChanged(); return redirectBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.DirectResponseAction, io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder, io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder> directResponseBuilder_; /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; * @return Whether the directResponse field is set. */ @java.lang.Override public boolean hasDirectResponse() { return actionCase_ == 7; } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; * @return The directResponse. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.DirectResponseAction getDirectResponse() { if (directResponseBuilder_ == null) { if (actionCase_ == 7) { return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_; } return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } else { if (actionCase_ == 7) { return directResponseBuilder_.getMessage(); } return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ public Builder setDirectResponse(io.envoyproxy.envoy.config.route.v3.DirectResponseAction value) { if (directResponseBuilder_ == null) { if (value == null) { throw new NullPointerException(); } action_ = value; onChanged(); } else { directResponseBuilder_.setMessage(value); } actionCase_ = 7; return this; } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ public Builder setDirectResponse( io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder builderForValue) { if (directResponseBuilder_ == null) { action_ = builderForValue.build(); onChanged(); } else { directResponseBuilder_.setMessage(builderForValue.build()); } actionCase_ = 7; return this; } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ public Builder mergeDirectResponse(io.envoyproxy.envoy.config.route.v3.DirectResponseAction value) { if (directResponseBuilder_ == null) { if (actionCase_ == 7 && action_ != io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance()) { action_ = io.envoyproxy.envoy.config.route.v3.DirectResponseAction.newBuilder((io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_) .mergeFrom(value).buildPartial(); } else { action_ = value; } onChanged(); } else { if (actionCase_ == 7) { directResponseBuilder_.mergeFrom(value); } else { directResponseBuilder_.setMessage(value); } } actionCase_ = 7; return this; } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ public Builder clearDirectResponse() { if (directResponseBuilder_ == null) { if (actionCase_ == 7) { actionCase_ = 0; action_ = null; onChanged(); } } else { if (actionCase_ == 7) { actionCase_ = 0; action_ = null; } directResponseBuilder_.clear(); } return this; } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ public io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder getDirectResponseBuilder() { return getDirectResponseFieldBuilder().getBuilder(); } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder getDirectResponseOrBuilder() { if ((actionCase_ == 7) && (directResponseBuilder_ != null)) { return directResponseBuilder_.getMessageOrBuilder(); } else { if (actionCase_ == 7) { return (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_; } return io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } } /** *
     * Return an arbitrary HTTP response directly, without proxying.
     * 
* * .envoy.config.route.v3.DirectResponseAction direct_response = 7; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.DirectResponseAction, io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder, io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder> getDirectResponseFieldBuilder() { if (directResponseBuilder_ == null) { if (!(actionCase_ == 7)) { action_ = io.envoyproxy.envoy.config.route.v3.DirectResponseAction.getDefaultInstance(); } directResponseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.DirectResponseAction, io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder, io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder>( (io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_, getParentForChildren(), isClean()); action_ = null; } actionCase_ = 7; onChanged(); return directResponseBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.FilterAction, io.envoyproxy.envoy.config.route.v3.FilterAction.Builder, io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder> filterActionBuilder_; /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; * @return Whether the filterAction field is set. */ @java.lang.Override public boolean hasFilterAction() { return actionCase_ == 17; } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; * @return The filterAction. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.FilterAction getFilterAction() { if (filterActionBuilder_ == null) { if (actionCase_ == 17) { return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_; } return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } else { if (actionCase_ == 17) { return filterActionBuilder_.getMessage(); } return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ public Builder setFilterAction(io.envoyproxy.envoy.config.route.v3.FilterAction value) { if (filterActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } action_ = value; onChanged(); } else { filterActionBuilder_.setMessage(value); } actionCase_ = 17; return this; } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ public Builder setFilterAction( io.envoyproxy.envoy.config.route.v3.FilterAction.Builder builderForValue) { if (filterActionBuilder_ == null) { action_ = builderForValue.build(); onChanged(); } else { filterActionBuilder_.setMessage(builderForValue.build()); } actionCase_ = 17; return this; } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ public Builder mergeFilterAction(io.envoyproxy.envoy.config.route.v3.FilterAction value) { if (filterActionBuilder_ == null) { if (actionCase_ == 17 && action_ != io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance()) { action_ = io.envoyproxy.envoy.config.route.v3.FilterAction.newBuilder((io.envoyproxy.envoy.config.route.v3.FilterAction) action_) .mergeFrom(value).buildPartial(); } else { action_ = value; } onChanged(); } else { if (actionCase_ == 17) { filterActionBuilder_.mergeFrom(value); } else { filterActionBuilder_.setMessage(value); } } actionCase_ = 17; return this; } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ public Builder clearFilterAction() { if (filterActionBuilder_ == null) { if (actionCase_ == 17) { actionCase_ = 0; action_ = null; onChanged(); } } else { if (actionCase_ == 17) { actionCase_ = 0; action_ = null; } filterActionBuilder_.clear(); } return this; } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ public io.envoyproxy.envoy.config.route.v3.FilterAction.Builder getFilterActionBuilder() { return getFilterActionFieldBuilder().getBuilder(); } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder getFilterActionOrBuilder() { if ((actionCase_ == 17) && (filterActionBuilder_ != null)) { return filterActionBuilder_.getMessageOrBuilder(); } else { if (actionCase_ == 17) { return (io.envoyproxy.envoy.config.route.v3.FilterAction) action_; } return io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } } /** *
     * [#not-implemented-hide:]
     * A filter-defined action (e.g., it could dynamically generate the RouteAction).
     * [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
     * implemented]
     * 
* * .envoy.config.route.v3.FilterAction filter_action = 17; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.FilterAction, io.envoyproxy.envoy.config.route.v3.FilterAction.Builder, io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder> getFilterActionFieldBuilder() { if (filterActionBuilder_ == null) { if (!(actionCase_ == 17)) { action_ = io.envoyproxy.envoy.config.route.v3.FilterAction.getDefaultInstance(); } filterActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.FilterAction, io.envoyproxy.envoy.config.route.v3.FilterAction.Builder, io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder>( (io.envoyproxy.envoy.config.route.v3.FilterAction) action_, getParentForChildren(), isClean()); action_ = null; } actionCase_ = 17; onChanged(); return filterActionBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.NonForwardingAction, io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder, io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder> nonForwardingActionBuilder_; /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; * @return Whether the nonForwardingAction field is set. */ @java.lang.Override public boolean hasNonForwardingAction() { return actionCase_ == 18; } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; * @return The nonForwardingAction. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.NonForwardingAction getNonForwardingAction() { if (nonForwardingActionBuilder_ == null) { if (actionCase_ == 18) { return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_; } return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } else { if (actionCase_ == 18) { return nonForwardingActionBuilder_.getMessage(); } return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ public Builder setNonForwardingAction(io.envoyproxy.envoy.config.route.v3.NonForwardingAction value) { if (nonForwardingActionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } action_ = value; onChanged(); } else { nonForwardingActionBuilder_.setMessage(value); } actionCase_ = 18; return this; } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ public Builder setNonForwardingAction( io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder builderForValue) { if (nonForwardingActionBuilder_ == null) { action_ = builderForValue.build(); onChanged(); } else { nonForwardingActionBuilder_.setMessage(builderForValue.build()); } actionCase_ = 18; return this; } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ public Builder mergeNonForwardingAction(io.envoyproxy.envoy.config.route.v3.NonForwardingAction value) { if (nonForwardingActionBuilder_ == null) { if (actionCase_ == 18 && action_ != io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance()) { action_ = io.envoyproxy.envoy.config.route.v3.NonForwardingAction.newBuilder((io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_) .mergeFrom(value).buildPartial(); } else { action_ = value; } onChanged(); } else { if (actionCase_ == 18) { nonForwardingActionBuilder_.mergeFrom(value); } else { nonForwardingActionBuilder_.setMessage(value); } } actionCase_ = 18; return this; } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ public Builder clearNonForwardingAction() { if (nonForwardingActionBuilder_ == null) { if (actionCase_ == 18) { actionCase_ = 0; action_ = null; onChanged(); } } else { if (actionCase_ == 18) { actionCase_ = 0; action_ = null; } nonForwardingActionBuilder_.clear(); } return this; } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ public io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder getNonForwardingActionBuilder() { return getNonForwardingActionFieldBuilder().getBuilder(); } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder getNonForwardingActionOrBuilder() { if ((actionCase_ == 18) && (nonForwardingActionBuilder_ != null)) { return nonForwardingActionBuilder_.getMessageOrBuilder(); } else { if (actionCase_ == 18) { return (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_; } return io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } } /** *
     * [#not-implemented-hide:]
     * An action used when the route will generate a response directly,
     * without forwarding to an upstream host. This will be used in non-proxy
     * xDS clients like the gRPC server. It could also be used in the future
     * in Envoy for a filter that directly generates responses for requests.
     * 
* * .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.NonForwardingAction, io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder, io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder> getNonForwardingActionFieldBuilder() { if (nonForwardingActionBuilder_ == null) { if (!(actionCase_ == 18)) { action_ = io.envoyproxy.envoy.config.route.v3.NonForwardingAction.getDefaultInstance(); } nonForwardingActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.NonForwardingAction, io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder, io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder>( (io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_, getParentForChildren(), isClean()); action_ = null; } actionCase_ = 18; onChanged(); return nonForwardingActionBuilder_; } private io.envoyproxy.envoy.config.core.v3.Metadata metadata_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder> metadataBuilder_; /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; * @return Whether the metadata field is set. */ public boolean hasMetadata() { return ((bitField0_ & 0x00000080) != 0); } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; * @return The metadata. */ public io.envoyproxy.envoy.config.core.v3.Metadata getMetadata() { if (metadataBuilder_ == null) { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } else { return metadataBuilder_.getMessage(); } } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public Builder setMetadata(io.envoyproxy.envoy.config.core.v3.Metadata value) { if (metadataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } metadata_ = value; } else { metadataBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public Builder setMetadata( io.envoyproxy.envoy.config.core.v3.Metadata.Builder builderForValue) { if (metadataBuilder_ == null) { metadata_ = builderForValue.build(); } else { metadataBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public Builder mergeMetadata(io.envoyproxy.envoy.config.core.v3.Metadata value) { if (metadataBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && metadata_ != null && metadata_ != io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance()) { getMetadataBuilder().mergeFrom(value); } else { metadata_ = value; } } else { metadataBuilder_.mergeFrom(value); } if (metadata_ != null) { bitField0_ |= 0x00000080; onChanged(); } return this; } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public Builder clearMetadata() { bitField0_ = (bitField0_ & ~0x00000080); metadata_ = null; if (metadataBuilder_ != null) { metadataBuilder_.dispose(); metadataBuilder_ = null; } onChanged(); return this; } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public io.envoyproxy.envoy.config.core.v3.Metadata.Builder getMetadataBuilder() { bitField0_ |= 0x00000080; onChanged(); return getMetadataFieldBuilder().getBuilder(); } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ public io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder() { if (metadataBuilder_ != null) { return metadataBuilder_.getMessageOrBuilder(); } else { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } } /** *
     * The Metadata field can be used to provide additional information
     * about the route. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 4; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder> getMetadataFieldBuilder() { if (metadataBuilder_ == null) { metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder>( getMetadata(), getParentForChildren(), isClean()); metadata_ = null; } return metadataBuilder_; } private io.envoyproxy.envoy.config.route.v3.Decorator decorator_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Decorator, io.envoyproxy.envoy.config.route.v3.Decorator.Builder, io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder> decoratorBuilder_; /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; * @return Whether the decorator field is set. */ public boolean hasDecorator() { return ((bitField0_ & 0x00000100) != 0); } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; * @return The decorator. */ public io.envoyproxy.envoy.config.route.v3.Decorator getDecorator() { if (decoratorBuilder_ == null) { return decorator_ == null ? io.envoyproxy.envoy.config.route.v3.Decorator.getDefaultInstance() : decorator_; } else { return decoratorBuilder_.getMessage(); } } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public Builder setDecorator(io.envoyproxy.envoy.config.route.v3.Decorator value) { if (decoratorBuilder_ == null) { if (value == null) { throw new NullPointerException(); } decorator_ = value; } else { decoratorBuilder_.setMessage(value); } bitField0_ |= 0x00000100; onChanged(); return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public Builder setDecorator( io.envoyproxy.envoy.config.route.v3.Decorator.Builder builderForValue) { if (decoratorBuilder_ == null) { decorator_ = builderForValue.build(); } else { decoratorBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000100; onChanged(); return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public Builder mergeDecorator(io.envoyproxy.envoy.config.route.v3.Decorator value) { if (decoratorBuilder_ == null) { if (((bitField0_ & 0x00000100) != 0) && decorator_ != null && decorator_ != io.envoyproxy.envoy.config.route.v3.Decorator.getDefaultInstance()) { getDecoratorBuilder().mergeFrom(value); } else { decorator_ = value; } } else { decoratorBuilder_.mergeFrom(value); } if (decorator_ != null) { bitField0_ |= 0x00000100; onChanged(); } return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public Builder clearDecorator() { bitField0_ = (bitField0_ & ~0x00000100); decorator_ = null; if (decoratorBuilder_ != null) { decoratorBuilder_.dispose(); decoratorBuilder_ = null; } onChanged(); return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public io.envoyproxy.envoy.config.route.v3.Decorator.Builder getDecoratorBuilder() { bitField0_ |= 0x00000100; onChanged(); return getDecoratorFieldBuilder().getBuilder(); } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder getDecoratorOrBuilder() { if (decoratorBuilder_ != null) { return decoratorBuilder_.getMessageOrBuilder(); } else { return decorator_ == null ? io.envoyproxy.envoy.config.route.v3.Decorator.getDefaultInstance() : decorator_; } } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Decorator, io.envoyproxy.envoy.config.route.v3.Decorator.Builder, io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder> getDecoratorFieldBuilder() { if (decoratorBuilder_ == null) { decoratorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Decorator, io.envoyproxy.envoy.config.route.v3.Decorator.Builder, io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder>( getDecorator(), getParentForChildren(), isClean()); decorator_ = null; } return decoratorBuilder_; } private static final class TypedPerFilterConfigConverter implements com.google.protobuf.MapFieldBuilder.Converter { @java.lang.Override public com.google.protobuf.Any build(com.google.protobuf.AnyOrBuilder val) { if (val instanceof com.google.protobuf.Any) { return (com.google.protobuf.Any) val; } return ((com.google.protobuf.Any.Builder) val).build(); } @java.lang.Override public com.google.protobuf.MapEntry defaultEntry() { return TypedPerFilterConfigDefaultEntryHolder.defaultEntry; } }; private static final TypedPerFilterConfigConverter typedPerFilterConfigConverter = new TypedPerFilterConfigConverter(); private com.google.protobuf.MapFieldBuilder< java.lang.String, com.google.protobuf.AnyOrBuilder, com.google.protobuf.Any, com.google.protobuf.Any.Builder> typedPerFilterConfig_; private com.google.protobuf.MapFieldBuilder internalGetTypedPerFilterConfig() { if (typedPerFilterConfig_ == null) { return new com.google.protobuf.MapFieldBuilder<>(typedPerFilterConfigConverter); } return typedPerFilterConfig_; } private com.google.protobuf.MapFieldBuilder internalGetMutableTypedPerFilterConfig() { if (typedPerFilterConfig_ == null) { typedPerFilterConfig_ = new com.google.protobuf.MapFieldBuilder<>(typedPerFilterConfigConverter); } bitField0_ |= 0x00000200; onChanged(); return typedPerFilterConfig_; } public int getTypedPerFilterConfigCount() { return internalGetTypedPerFilterConfig().ensureBuilderMap().size(); } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public boolean containsTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } return internalGetTypedPerFilterConfig().ensureBuilderMap().containsKey(key); } /** * Use {@link #getTypedPerFilterConfigMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getTypedPerFilterConfig() { return getTypedPerFilterConfigMap(); } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public java.util.Map getTypedPerFilterConfigMap() { return internalGetTypedPerFilterConfig().getImmutableMap(); } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public /* nullable */ com.google.protobuf.Any getTypedPerFilterConfigOrDefault( java.lang.String key, /* nullable */ com.google.protobuf.Any defaultValue) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetMutableTypedPerFilterConfig().ensureBuilderMap(); return map.containsKey(key) ? typedPerFilterConfigConverter.build(map.get(key)) : defaultValue; } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrThrow( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetMutableTypedPerFilterConfig().ensureBuilderMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return typedPerFilterConfigConverter.build(map.get(key)); } public Builder clearTypedPerFilterConfig() { bitField0_ = (bitField0_ & ~0x00000200); internalGetMutableTypedPerFilterConfig().clear(); return this; } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ public Builder removeTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } internalGetMutableTypedPerFilterConfig().ensureBuilderMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableTypedPerFilterConfig() { bitField0_ |= 0x00000200; return internalGetMutableTypedPerFilterConfig().ensureMessageMap(); } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ public Builder putTypedPerFilterConfig( java.lang.String key, com.google.protobuf.Any value) { if (key == null) { throw new NullPointerException("map key"); } if (value == null) { throw new NullPointerException("map value"); } internalGetMutableTypedPerFilterConfig().ensureBuilderMap() .put(key, value); bitField0_ |= 0x00000200; return this; } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ public Builder putAllTypedPerFilterConfig( java.util.Map values) { for (java.util.Map.Entry e : values.entrySet()) { if (e.getKey() == null || e.getValue() == null) { throw new NullPointerException(); } } internalGetMutableTypedPerFilterConfig().ensureBuilderMap() .putAll(values); bitField0_ |= 0x00000200; return this; } /** *
     * This field can be used to provide route specific per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 13; */ public com.google.protobuf.Any.Builder putTypedPerFilterConfigBuilderIfAbsent( java.lang.String key) { java.util.Map builderMap = internalGetMutableTypedPerFilterConfig().ensureBuilderMap(); com.google.protobuf.AnyOrBuilder entry = builderMap.get(key); if (entry == null) { entry = com.google.protobuf.Any.newBuilder(); builderMap.put(key, entry); } if (entry instanceof com.google.protobuf.Any) { entry = ((com.google.protobuf.Any) entry).toBuilder(); builderMap.put(key, entry); } return (com.google.protobuf.Any.Builder) entry; } private java.util.List requestHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureRequestHeadersToAddIsMutable() { if (!((bitField0_ & 0x00000400) != 0)) { requestHeadersToAdd_ = new java.util.ArrayList(requestHeadersToAdd_); bitField0_ |= 0x00000400; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> requestHeadersToAddBuilder_; /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddList() { if (requestHeadersToAddBuilder_ == null) { return java.util.Collections.unmodifiableList(requestHeadersToAdd_); } else { return requestHeadersToAddBuilder_.getMessageList(); } } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public int getRequestHeadersToAddCount() { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.size(); } else { return requestHeadersToAddBuilder_.getCount(); } } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption getRequestHeadersToAdd(int index) { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.get(index); } else { return requestHeadersToAddBuilder_.getMessage(index); } } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.set(index, value); onChanged(); } else { requestHeadersToAddBuilder_.setMessage(index, value); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.set(index, builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd(io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(value); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(value); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(index, value); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(index, value); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(index, builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder addAllRequestHeadersToAdd( java.lang.Iterable values) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requestHeadersToAdd_); onChanged(); } else { requestHeadersToAddBuilder_.addAllMessages(values); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder clearRequestHeadersToAdd() { if (requestHeadersToAddBuilder_ == null) { requestHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000400); onChanged(); } else { requestHeadersToAddBuilder_.clear(); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public Builder removeRequestHeadersToAdd(int index) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.remove(index); onChanged(); } else { requestHeadersToAddBuilder_.remove(index); } return this; } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder getRequestHeadersToAddBuilder( int index) { return getRequestHeadersToAddFieldBuilder().getBuilder(index); } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder( int index) { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.get(index); } else { return requestHeadersToAddBuilder_.getMessageOrBuilder(index); } } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddOrBuilderList() { if (requestHeadersToAddBuilder_ != null) { return requestHeadersToAddBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(requestHeadersToAdd_); } } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addRequestHeadersToAddBuilder() { return getRequestHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addRequestHeadersToAddBuilder( int index) { return getRequestHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a set of headers that will be added to requests matching this
     * route. Headers specified at this level are applied before headers from the
     * enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddBuilderList() { return getRequestHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> getRequestHeadersToAddFieldBuilder() { if (requestHeadersToAddBuilder_ == null) { requestHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder>( requestHeadersToAdd_, ((bitField0_ & 0x00000400) != 0), getParentForChildren(), isClean()); requestHeadersToAdd_ = null; } return requestHeadersToAddBuilder_; } private com.google.protobuf.LazyStringArrayList requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureRequestHeadersToRemoveIsMutable() { if (!requestHeadersToRemove_.isModifiable()) { requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(requestHeadersToRemove_); } bitField0_ |= 0x00000800; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @return A list containing the requestHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList() { requestHeadersToRemove_.makeImmutable(); return requestHeadersToRemove_; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @return The count of requestHeadersToRemove. */ public int getRequestHeadersToRemoveCount() { return requestHeadersToRemove_.size(); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The requestHeadersToRemove at the given index. */ public java.lang.String getRequestHeadersToRemove(int index) { return requestHeadersToRemove_.get(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the requestHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getRequestHeadersToRemoveBytes(int index) { return requestHeadersToRemove_.getByteString(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param index The index to set the value at. * @param value The requestHeadersToRemove to set. * @return This builder for chaining. */ public Builder setRequestHeadersToRemove( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.set(index, value); bitField0_ |= 0x00000800; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param value The requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addRequestHeadersToRemove( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.add(value); bitField0_ |= 0x00000800; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param values The requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addAllRequestHeadersToRemove( java.lang.Iterable values) { ensureRequestHeadersToRemoveIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requestHeadersToRemove_); bitField0_ |= 0x00000800; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @return This builder for chaining. */ public Builder clearRequestHeadersToRemove() { requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00000800);; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * matching this route.
     * 
* * repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... } * @param value The bytes of the requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addRequestHeadersToRemoveBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.add(value); bitField0_ |= 0x00000800; onChanged(); return this; } private java.util.List responseHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureResponseHeadersToAddIsMutable() { if (!((bitField0_ & 0x00001000) != 0)) { responseHeadersToAdd_ = new java.util.ArrayList(responseHeadersToAdd_); bitField0_ |= 0x00001000; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> responseHeadersToAddBuilder_; /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddList() { if (responseHeadersToAddBuilder_ == null) { return java.util.Collections.unmodifiableList(responseHeadersToAdd_); } else { return responseHeadersToAddBuilder_.getMessageList(); } } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public int getResponseHeadersToAddCount() { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.size(); } else { return responseHeadersToAddBuilder_.getCount(); } } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption getResponseHeadersToAdd(int index) { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.get(index); } else { return responseHeadersToAddBuilder_.getMessage(index); } } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.set(index, value); onChanged(); } else { responseHeadersToAddBuilder_.setMessage(index, value); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.set(index, builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd(io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(value); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(value); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(index, value); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(index, value); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(index, builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder addAllResponseHeadersToAdd( java.lang.Iterable values) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, responseHeadersToAdd_); onChanged(); } else { responseHeadersToAddBuilder_.addAllMessages(values); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder clearResponseHeadersToAdd() { if (responseHeadersToAddBuilder_ == null) { responseHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00001000); onChanged(); } else { responseHeadersToAddBuilder_.clear(); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public Builder removeResponseHeadersToAdd(int index) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.remove(index); onChanged(); } else { responseHeadersToAddBuilder_.remove(index); } return this; } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder getResponseHeadersToAddBuilder( int index) { return getResponseHeadersToAddFieldBuilder().getBuilder(index); } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder( int index) { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.get(index); } else { return responseHeadersToAddBuilder_.getMessageOrBuilder(index); } } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddOrBuilderList() { if (responseHeadersToAddBuilder_ != null) { return responseHeadersToAddBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(responseHeadersToAdd_); } } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addResponseHeadersToAddBuilder() { return getResponseHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.config.core.v3.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addResponseHeadersToAddBuilder( int index) { return getResponseHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a set of headers that will be added to responses to requests
     * matching this route. Headers specified at this level are applied before
     * headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
     * :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
     * details on header value syntax, see the documentation on
     * :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddBuilderList() { return getResponseHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> getResponseHeadersToAddFieldBuilder() { if (responseHeadersToAddBuilder_ == null) { responseHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder>( responseHeadersToAdd_, ((bitField0_ & 0x00001000) != 0), getParentForChildren(), isClean()); responseHeadersToAdd_ = null; } return responseHeadersToAddBuilder_; } private com.google.protobuf.LazyStringArrayList responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureResponseHeadersToRemoveIsMutable() { if (!responseHeadersToRemove_.isModifiable()) { responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(responseHeadersToRemove_); } bitField0_ |= 0x00002000; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @return A list containing the responseHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList() { responseHeadersToRemove_.makeImmutable(); return responseHeadersToRemove_; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @return The count of responseHeadersToRemove. */ public int getResponseHeadersToRemoveCount() { return responseHeadersToRemove_.size(); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The responseHeadersToRemove at the given index. */ public java.lang.String getResponseHeadersToRemove(int index) { return responseHeadersToRemove_.get(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the responseHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getResponseHeadersToRemoveBytes(int index) { return responseHeadersToRemove_.getByteString(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param index The index to set the value at. * @param value The responseHeadersToRemove to set. * @return This builder for chaining. */ public Builder setResponseHeadersToRemove( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.set(index, value); bitField0_ |= 0x00002000; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param value The responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addResponseHeadersToRemove( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.add(value); bitField0_ |= 0x00002000; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param values The responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addAllResponseHeadersToRemove( java.lang.Iterable values) { ensureResponseHeadersToRemoveIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, responseHeadersToRemove_); bitField0_ |= 0x00002000; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @return This builder for chaining. */ public Builder clearResponseHeadersToRemove() { responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00002000);; onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * to requests matching this route.
     * 
* * repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... } * @param value The bytes of the responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addResponseHeadersToRemoveBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.add(value); bitField0_ |= 0x00002000; onChanged(); return this; } private io.envoyproxy.envoy.config.route.v3.Tracing tracing_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Tracing, io.envoyproxy.envoy.config.route.v3.Tracing.Builder, io.envoyproxy.envoy.config.route.v3.TracingOrBuilder> tracingBuilder_; /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; * @return Whether the tracing field is set. */ public boolean hasTracing() { return ((bitField0_ & 0x00004000) != 0); } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; * @return The tracing. */ public io.envoyproxy.envoy.config.route.v3.Tracing getTracing() { if (tracingBuilder_ == null) { return tracing_ == null ? io.envoyproxy.envoy.config.route.v3.Tracing.getDefaultInstance() : tracing_; } else { return tracingBuilder_.getMessage(); } } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public Builder setTracing(io.envoyproxy.envoy.config.route.v3.Tracing value) { if (tracingBuilder_ == null) { if (value == null) { throw new NullPointerException(); } tracing_ = value; } else { tracingBuilder_.setMessage(value); } bitField0_ |= 0x00004000; onChanged(); return this; } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public Builder setTracing( io.envoyproxy.envoy.config.route.v3.Tracing.Builder builderForValue) { if (tracingBuilder_ == null) { tracing_ = builderForValue.build(); } else { tracingBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00004000; onChanged(); return this; } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public Builder mergeTracing(io.envoyproxy.envoy.config.route.v3.Tracing value) { if (tracingBuilder_ == null) { if (((bitField0_ & 0x00004000) != 0) && tracing_ != null && tracing_ != io.envoyproxy.envoy.config.route.v3.Tracing.getDefaultInstance()) { getTracingBuilder().mergeFrom(value); } else { tracing_ = value; } } else { tracingBuilder_.mergeFrom(value); } if (tracing_ != null) { bitField0_ |= 0x00004000; onChanged(); } return this; } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public Builder clearTracing() { bitField0_ = (bitField0_ & ~0x00004000); tracing_ = null; if (tracingBuilder_ != null) { tracingBuilder_.dispose(); tracingBuilder_ = null; } onChanged(); return this; } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public io.envoyproxy.envoy.config.route.v3.Tracing.Builder getTracingBuilder() { bitField0_ |= 0x00004000; onChanged(); return getTracingFieldBuilder().getBuilder(); } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ public io.envoyproxy.envoy.config.route.v3.TracingOrBuilder getTracingOrBuilder() { if (tracingBuilder_ != null) { return tracingBuilder_.getMessageOrBuilder(); } else { return tracing_ == null ? io.envoyproxy.envoy.config.route.v3.Tracing.getDefaultInstance() : tracing_; } } /** *
     * Presence of the object defines whether the connection manager's tracing configuration
     * is overridden by this route specific instance.
     * 
* * .envoy.config.route.v3.Tracing tracing = 15; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Tracing, io.envoyproxy.envoy.config.route.v3.Tracing.Builder, io.envoyproxy.envoy.config.route.v3.TracingOrBuilder> getTracingFieldBuilder() { if (tracingBuilder_ == null) { tracingBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Tracing, io.envoyproxy.envoy.config.route.v3.Tracing.Builder, io.envoyproxy.envoy.config.route.v3.TracingOrBuilder>( getTracing(), getParentForChildren(), isClean()); tracing_ = null; } return tracingBuilder_; } private com.google.protobuf.UInt32Value perRequestBufferLimitBytes_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> perRequestBufferLimitBytesBuilder_; /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; * @return Whether the perRequestBufferLimitBytes field is set. */ public boolean hasPerRequestBufferLimitBytes() { return ((bitField0_ & 0x00008000) != 0); } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; * @return The perRequestBufferLimitBytes. */ public com.google.protobuf.UInt32Value getPerRequestBufferLimitBytes() { if (perRequestBufferLimitBytesBuilder_ == null) { return perRequestBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perRequestBufferLimitBytes_; } else { return perRequestBufferLimitBytesBuilder_.getMessage(); } } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public Builder setPerRequestBufferLimitBytes(com.google.protobuf.UInt32Value value) { if (perRequestBufferLimitBytesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } perRequestBufferLimitBytes_ = value; } else { perRequestBufferLimitBytesBuilder_.setMessage(value); } bitField0_ |= 0x00008000; onChanged(); return this; } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public Builder setPerRequestBufferLimitBytes( com.google.protobuf.UInt32Value.Builder builderForValue) { if (perRequestBufferLimitBytesBuilder_ == null) { perRequestBufferLimitBytes_ = builderForValue.build(); } else { perRequestBufferLimitBytesBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00008000; onChanged(); return this; } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public Builder mergePerRequestBufferLimitBytes(com.google.protobuf.UInt32Value value) { if (perRequestBufferLimitBytesBuilder_ == null) { if (((bitField0_ & 0x00008000) != 0) && perRequestBufferLimitBytes_ != null && perRequestBufferLimitBytes_ != com.google.protobuf.UInt32Value.getDefaultInstance()) { getPerRequestBufferLimitBytesBuilder().mergeFrom(value); } else { perRequestBufferLimitBytes_ = value; } } else { perRequestBufferLimitBytesBuilder_.mergeFrom(value); } if (perRequestBufferLimitBytes_ != null) { bitField0_ |= 0x00008000; onChanged(); } return this; } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public Builder clearPerRequestBufferLimitBytes() { bitField0_ = (bitField0_ & ~0x00008000); perRequestBufferLimitBytes_ = null; if (perRequestBufferLimitBytesBuilder_ != null) { perRequestBufferLimitBytesBuilder_.dispose(); perRequestBufferLimitBytesBuilder_ = null; } onChanged(); return this; } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public com.google.protobuf.UInt32Value.Builder getPerRequestBufferLimitBytesBuilder() { bitField0_ |= 0x00008000; onChanged(); return getPerRequestBufferLimitBytesFieldBuilder().getBuilder(); } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ public com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder() { if (perRequestBufferLimitBytesBuilder_ != null) { return perRequestBufferLimitBytesBuilder_.getMessageOrBuilder(); } else { return perRequestBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perRequestBufferLimitBytes_; } } /** *
     * The maximum bytes which will be buffered for retries and shadowing.
     * If set, the bytes actually buffered will be the minimum value of this and the
     * listener per_connection_buffer_limit_bytes.
     * 
* * .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> getPerRequestBufferLimitBytesFieldBuilder() { if (perRequestBufferLimitBytesBuilder_ == null) { perRequestBufferLimitBytesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>( getPerRequestBufferLimitBytes(), getParentForChildren(), isClean()); perRequestBufferLimitBytes_ = null; } return perRequestBufferLimitBytesBuilder_; } private java.lang.Object statPrefix_ = ""; /** *
     * The human readable prefix to use when emitting statistics for this endpoint.
     * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
     * This should be set for highly critical
     * endpoints that one wishes to get “per-route” statistics on.
     * If not set, endpoint statistics are not generated.
     *
     * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
     *
     * .. warning::
     *
     *    We do not recommend setting up a stat prefix for
     *    every application endpoint. This is both not easily maintainable and
     *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
     * 
* * string stat_prefix = 19; * @return The statPrefix. */ public java.lang.String getStatPrefix() { java.lang.Object ref = statPrefix_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); statPrefix_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The human readable prefix to use when emitting statistics for this endpoint.
     * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
     * This should be set for highly critical
     * endpoints that one wishes to get “per-route” statistics on.
     * If not set, endpoint statistics are not generated.
     *
     * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
     *
     * .. warning::
     *
     *    We do not recommend setting up a stat prefix for
     *    every application endpoint. This is both not easily maintainable and
     *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
     * 
* * string stat_prefix = 19; * @return The bytes for statPrefix. */ public com.google.protobuf.ByteString getStatPrefixBytes() { java.lang.Object ref = statPrefix_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); statPrefix_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The human readable prefix to use when emitting statistics for this endpoint.
     * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
     * This should be set for highly critical
     * endpoints that one wishes to get “per-route” statistics on.
     * If not set, endpoint statistics are not generated.
     *
     * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
     *
     * .. warning::
     *
     *    We do not recommend setting up a stat prefix for
     *    every application endpoint. This is both not easily maintainable and
     *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
     * 
* * string stat_prefix = 19; * @param value The statPrefix to set. * @return This builder for chaining. */ public Builder setStatPrefix( java.lang.String value) { if (value == null) { throw new NullPointerException(); } statPrefix_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } /** *
     * The human readable prefix to use when emitting statistics for this endpoint.
     * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
     * This should be set for highly critical
     * endpoints that one wishes to get “per-route” statistics on.
     * If not set, endpoint statistics are not generated.
     *
     * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
     *
     * .. warning::
     *
     *    We do not recommend setting up a stat prefix for
     *    every application endpoint. This is both not easily maintainable and
     *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
     * 
* * string stat_prefix = 19; * @return This builder for chaining. */ public Builder clearStatPrefix() { statPrefix_ = getDefaultInstance().getStatPrefix(); bitField0_ = (bitField0_ & ~0x00010000); onChanged(); return this; } /** *
     * The human readable prefix to use when emitting statistics for this endpoint.
     * The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
     * This should be set for highly critical
     * endpoints that one wishes to get “per-route” statistics on.
     * If not set, endpoint statistics are not generated.
     *
     * The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
     *
     * .. warning::
     *
     *    We do not recommend setting up a stat prefix for
     *    every application endpoint. This is both not easily maintainable and
     *    statistics use a non-trivial amount of memory(approximately 1KiB per route).
     * 
* * string stat_prefix = 19; * @param value The bytes for statPrefix to set. * @return This builder for chaining. */ public Builder setStatPrefixBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); statPrefix_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.config.route.v3.Route) } // @@protoc_insertion_point(class_scope:envoy.config.route.v3.Route) private static final io.envoyproxy.envoy.config.route.v3.Route DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.Route(); } public static io.envoyproxy.envoy.config.route.v3.Route getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Route parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Route getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy