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

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

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto

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.EMPTY; responseHeadersToAdd_ = java.util.Collections.emptyList(); responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; statPrefix_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Route(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private Route( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder subBuilder = null; if (match_ != null) { subBuilder = match_.toBuilder(); } match_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteMatch.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(match_); match_ = subBuilder.buildPartial(); } break; } case 18: { io.envoyproxy.envoy.config.route.v3.RouteAction.Builder subBuilder = null; if (actionCase_ == 2) { subBuilder = ((io.envoyproxy.envoy.config.route.v3.RouteAction) action_).toBuilder(); } action_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.RouteAction) action_); action_ = subBuilder.buildPartial(); } actionCase_ = 2; break; } case 26: { io.envoyproxy.envoy.config.route.v3.RedirectAction.Builder subBuilder = null; if (actionCase_ == 3) { subBuilder = ((io.envoyproxy.envoy.config.route.v3.RedirectAction) action_).toBuilder(); } action_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RedirectAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.RedirectAction) action_); action_ = subBuilder.buildPartial(); } actionCase_ = 3; break; } case 34: { io.envoyproxy.envoy.config.core.v3.Metadata.Builder subBuilder = null; if (metadata_ != null) { subBuilder = metadata_.toBuilder(); } metadata_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Metadata.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(metadata_); metadata_ = subBuilder.buildPartial(); } break; } case 42: { io.envoyproxy.envoy.config.route.v3.Decorator.Builder subBuilder = null; if (decorator_ != null) { subBuilder = decorator_.toBuilder(); } decorator_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.Decorator.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(decorator_); decorator_ = subBuilder.buildPartial(); } break; } case 58: { io.envoyproxy.envoy.config.route.v3.DirectResponseAction.Builder subBuilder = null; if (actionCase_ == 7) { subBuilder = ((io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_).toBuilder(); } action_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.DirectResponseAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.DirectResponseAction) action_); action_ = subBuilder.buildPartial(); } actionCase_ = 7; break; } case 74: { if (!((mutable_bitField0_ & 0x00000002) != 0)) { requestHeadersToAdd_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } requestHeadersToAdd_.add( input.readMessage(io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry)); break; } case 82: { if (!((mutable_bitField0_ & 0x00000008) != 0)) { responseHeadersToAdd_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000008; } responseHeadersToAdd_.add( input.readMessage(io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry)); break; } case 90: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000010) != 0)) { responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000010; } responseHeadersToRemove_.add(s); break; } case 98: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000004) != 0)) { requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } requestHeadersToRemove_.add(s); break; } case 106: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { typedPerFilterConfig_ = com.google.protobuf.MapField.newMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000001; } com.google.protobuf.MapEntry typedPerFilterConfig__ = input.readMessage( TypedPerFilterConfigDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); typedPerFilterConfig_.getMutableMap().put( typedPerFilterConfig__.getKey(), typedPerFilterConfig__.getValue()); break; } case 114: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 122: { io.envoyproxy.envoy.config.route.v3.Tracing.Builder subBuilder = null; if (tracing_ != null) { subBuilder = tracing_.toBuilder(); } tracing_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.Tracing.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(tracing_); tracing_ = subBuilder.buildPartial(); } break; } case 130: { com.google.protobuf.UInt32Value.Builder subBuilder = null; if (perRequestBufferLimitBytes_ != null) { subBuilder = perRequestBufferLimitBytes_.toBuilder(); } perRequestBufferLimitBytes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(perRequestBufferLimitBytes_); perRequestBufferLimitBytes_ = subBuilder.buildPartial(); } break; } case 138: { io.envoyproxy.envoy.config.route.v3.FilterAction.Builder subBuilder = null; if (actionCase_ == 17) { subBuilder = ((io.envoyproxy.envoy.config.route.v3.FilterAction) action_).toBuilder(); } action_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.FilterAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.FilterAction) action_); action_ = subBuilder.buildPartial(); } actionCase_ = 17; break; } case 146: { io.envoyproxy.envoy.config.route.v3.NonForwardingAction.Builder subBuilder = null; if (actionCase_ == 18) { subBuilder = ((io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_).toBuilder(); } action_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.NonForwardingAction.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.route.v3.NonForwardingAction) action_); action_ = subBuilder.buildPartial(); } actionCase_ = 18; break; } case 154: { java.lang.String s = input.readStringRequireUtf8(); statPrefix_ = s; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000002) != 0)) { requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_); } if (((mutable_bitField0_ & 0x00000008) != 0)) { responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_); } if (((mutable_bitField0_ & 0x00000010) != 0)) { responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } 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.MapField internalGetMapField( 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 actionCase_ = 0; 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; 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 match_ != null; } /** *
   * 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 getMatch(); } 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 metadata_ != null; } /** *
   * 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 getMetadata(); } 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 decorator_ != null; } /** *
   * 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 getDecorator(); } 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()); } 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(); } /** *
   * The per_filter_config field can be used to provide route-specific configurations for filters.
   * The key should match the :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
   * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
   * entry referred by the canonical filter name will be provided to the filters as fallback.
   * Use of this field is filter specific;
   * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
   * [#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(); } /** *
   * The per_filter_config field can be used to provide route-specific configurations for filters.
   * The key should match the :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
   * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
   * entry referred by the canonical filter name will be provided to the filters as fallback.
   * Use of this field is filter specific;
   * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
   * [#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(); } /** *
   * The per_filter_config field can be used to provide route-specific configurations for filters.
   * The key should match the :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
   * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
   * entry referred by the canonical filter name will be provided to the filters as fallback.
   * Use of this field is filter specific;
   * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
   * [#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 getTypedPerFilterConfigOrDefault( java.lang.String key, 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; } /** *
   * The per_filter_config field can be used to provide route-specific configurations for filters.
   * The key should match the :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
   * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
   * entry referred by the canonical filter name will be provided to the filters as fallback.
   * Use of this field is filter specific;
   * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
   * [#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; 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; private com.google.protobuf.LazyStringList 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 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; 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; private com.google.protobuf.LazyStringList 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 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 tracing_ != null; } /** *
   * 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 getTracing(); } 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 perRequestBufferLimitBytes_ != null; } /** *
   * 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 getPerRequestBufferLimitBytes(); } public static final int STAT_PREFIX_FIELD_NUMBER = 19; 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 (match_ != null) { 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 (metadata_ != null) { output.writeMessage(4, getMetadata()); } if (decorator_ != null) { 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 (tracing_ != null) { output.writeMessage(15, getTracing()); } if (perRequestBufferLimitBytes_ != null) { 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_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (match_ != null) { 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 (metadata_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getMetadata()); } if (decorator_ != null) { 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 (tracing_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(15, getTracing()); } if (perRequestBufferLimitBytes_ != null) { 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 += unknownFields.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 (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.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.MapField internalGetMapField( int number) { switch (number) { case 13: return internalGetTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( 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) { getRequestHeadersToAddFieldBuilder(); getResponseHeadersToAddFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; if (matchBuilder_ == null) { match_ = null; } else { match_ = null; matchBuilder_ = null; } if (metadataBuilder_ == null) { metadata_ = null; } else { metadata_ = null; metadataBuilder_ = null; } if (decoratorBuilder_ == null) { decorator_ = null; } else { decorator_ = null; decoratorBuilder_ = null; } internalGetMutableTypedPerFilterConfig().clear(); if (requestHeadersToAddBuilder_ == null) { requestHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { requestHeadersToAddBuilder_.clear(); } requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); if (responseHeadersToAddBuilder_ == null) { responseHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); } else { responseHeadersToAddBuilder_.clear(); } responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000010); if (tracingBuilder_ == null) { tracing_ = null; } else { tracing_ = null; tracingBuilder_ = null; } if (perRequestBufferLimitBytesBuilder_ == null) { perRequestBufferLimitBytes_ = null; } else { perRequestBufferLimitBytes_ = null; 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); int from_bitField0_ = bitField0_; result.name_ = name_; if (matchBuilder_ == null) { result.match_ = match_; } else { result.match_ = matchBuilder_.build(); } if (actionCase_ == 2) { if (routeBuilder_ == null) { result.action_ = action_; } else { result.action_ = routeBuilder_.build(); } } if (actionCase_ == 3) { if (redirectBuilder_ == null) { result.action_ = action_; } else { result.action_ = redirectBuilder_.build(); } } if (actionCase_ == 7) { if (directResponseBuilder_ == null) { result.action_ = action_; } else { result.action_ = directResponseBuilder_.build(); } } if (actionCase_ == 17) { if (filterActionBuilder_ == null) { result.action_ = action_; } else { result.action_ = filterActionBuilder_.build(); } } if (actionCase_ == 18) { if (nonForwardingActionBuilder_ == null) { result.action_ = action_; } else { result.action_ = nonForwardingActionBuilder_.build(); } } if (metadataBuilder_ == null) { result.metadata_ = metadata_; } else { result.metadata_ = metadataBuilder_.build(); } if (decoratorBuilder_ == null) { result.decorator_ = decorator_; } else { result.decorator_ = decoratorBuilder_.build(); } result.typedPerFilterConfig_ = internalGetTypedPerFilterConfig(); result.typedPerFilterConfig_.makeImmutable(); if (requestHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00000002); } result.requestHeadersToAdd_ = requestHeadersToAdd_; } else { result.requestHeadersToAdd_ = requestHeadersToAddBuilder_.build(); } if (((bitField0_ & 0x00000004) != 0)) { requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); } result.requestHeadersToRemove_ = requestHeadersToRemove_; if (responseHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00000008); } result.responseHeadersToAdd_ = responseHeadersToAdd_; } else { result.responseHeadersToAdd_ = responseHeadersToAddBuilder_.build(); } if (((bitField0_ & 0x00000010) != 0)) { responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000010); } result.responseHeadersToRemove_ = responseHeadersToRemove_; if (tracingBuilder_ == null) { result.tracing_ = tracing_; } else { result.tracing_ = tracingBuilder_.build(); } if (perRequestBufferLimitBytesBuilder_ == null) { result.perRequestBufferLimitBytes_ = perRequestBufferLimitBytes_; } else { result.perRequestBufferLimitBytes_ = perRequestBufferLimitBytesBuilder_.build(); } result.statPrefix_ = statPrefix_; result.actionCase_ = actionCase_; onBuilt(); return result; } @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_; onChanged(); } if (other.hasMatch()) { mergeMatch(other.getMatch()); } if (other.hasMetadata()) { mergeMetadata(other.getMetadata()); } if (other.hasDecorator()) { mergeDecorator(other.getDecorator()); } internalGetMutableTypedPerFilterConfig().mergeFrom( other.internalGetTypedPerFilterConfig()); if (requestHeadersToAddBuilder_ == null) { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAdd_.isEmpty()) { requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.addAll(other.requestHeadersToAdd_); } onChanged(); } } else { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAddBuilder_.isEmpty()) { requestHeadersToAddBuilder_.dispose(); requestHeadersToAddBuilder_ = null; requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000002); requestHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRequestHeadersToAddFieldBuilder() : null; } else { requestHeadersToAddBuilder_.addAllMessages(other.requestHeadersToAdd_); } } } if (!other.requestHeadersToRemove_.isEmpty()) { if (requestHeadersToRemove_.isEmpty()) { requestHeadersToRemove_ = other.requestHeadersToRemove_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.addAll(other.requestHeadersToRemove_); } onChanged(); } if (responseHeadersToAddBuilder_ == null) { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAdd_.isEmpty()) { responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.addAll(other.responseHeadersToAdd_); } onChanged(); } } else { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAddBuilder_.isEmpty()) { responseHeadersToAddBuilder_.dispose(); responseHeadersToAddBuilder_ = null; responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000008); responseHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getResponseHeadersToAddFieldBuilder() : null; } else { responseHeadersToAddBuilder_.addAllMessages(other.responseHeadersToAdd_); } } } if (!other.responseHeadersToRemove_.isEmpty()) { if (responseHeadersToRemove_.isEmpty()) { responseHeadersToRemove_ = other.responseHeadersToRemove_; bitField0_ = (bitField0_ & ~0x00000010); } 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_; 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.unknownFields); 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 { io.envoyproxy.envoy.config.route.v3.Route parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.config.route.v3.Route) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } 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; onChanged(); return this; } /** *
     * Name for the route.
     * 
* * string name = 14; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); 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; 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 matchBuilder_ != null || match_ != null; } /** *
     * 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; onChanged(); } else { matchBuilder_.setMessage(value); } 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(); onChanged(); } else { matchBuilder_.setMessage(builderForValue.build()); } 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 (match_ != null) { match_ = io.envoyproxy.envoy.config.route.v3.RouteMatch.newBuilder(match_).mergeFrom(value).buildPartial(); } else { match_ = value; } onChanged(); } else { matchBuilder_.mergeFrom(value); } return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public Builder clearMatch() { if (matchBuilder_ == null) { match_ = null; onChanged(); } else { match_ = null; matchBuilder_ = null; } return this; } /** *
     * Route matching parameters.
     * 
* * .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.route.v3.RouteMatch.Builder getMatchBuilder() { 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 metadataBuilder_ != null || metadata_ != null; } /** *
     * 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; onChanged(); } else { metadataBuilder_.setMessage(value); } 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(); onChanged(); } else { metadataBuilder_.setMessage(builderForValue.build()); } 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 (metadata_ != null) { metadata_ = io.envoyproxy.envoy.config.core.v3.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial(); } else { metadata_ = value; } onChanged(); } else { metadataBuilder_.mergeFrom(value); } 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() { if (metadataBuilder_ == null) { metadata_ = null; onChanged(); } else { metadata_ = null; metadataBuilder_ = null; } 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() { 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 decoratorBuilder_ != null || decorator_ != null; } /** *
     * 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; onChanged(); } else { decoratorBuilder_.setMessage(value); } 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(); onChanged(); } else { decoratorBuilder_.setMessage(builderForValue.build()); } 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 (decorator_ != null) { decorator_ = io.envoyproxy.envoy.config.route.v3.Decorator.newBuilder(decorator_).mergeFrom(value).buildPartial(); } else { decorator_ = value; } onChanged(); } else { decoratorBuilder_.mergeFrom(value); } return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public Builder clearDecorator() { if (decoratorBuilder_ == null) { decorator_ = null; onChanged(); } else { decorator_ = null; decoratorBuilder_ = null; } return this; } /** *
     * Decorator for the matched route.
     * 
* * .envoy.config.route.v3.Decorator decorator = 5; */ public io.envoyproxy.envoy.config.route.v3.Decorator.Builder getDecoratorBuilder() { 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 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_; } private com.google.protobuf.MapField internalGetMutableTypedPerFilterConfig() { onChanged();; if (typedPerFilterConfig_ == null) { typedPerFilterConfig_ = com.google.protobuf.MapField.newMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } if (!typedPerFilterConfig_.isMutable()) { typedPerFilterConfig_ = typedPerFilterConfig_.copy(); } return typedPerFilterConfig_; } public int getTypedPerFilterConfigCount() { return internalGetTypedPerFilterConfig().getMap().size(); } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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(); } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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(); } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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 getTypedPerFilterConfigOrDefault( java.lang.String key, 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; } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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 Builder clearTypedPerFilterConfig() { internalGetMutableTypedPerFilterConfig().getMutableMap() .clear(); return this; } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableTypedPerFilterConfig() { return internalGetMutableTypedPerFilterConfig().getMutableMap(); } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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().getMutableMap() .put(key, value); return this; } /** *
     * The per_filter_config field can be used to provide route-specific configurations for filters.
     * The key should match the :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * The canonical filter name (e.g., ``envoy.filters.http.buffer`` for the HTTP buffer filter) can also
     * be used for the backwards compatibility. If there is no entry referred by the filter config name, the
     * entry referred by the canonical filter name will be provided to the filters as fallback.
     * Use of this field is filter specific;
     * see the :ref:`HTTP filter documentation <config_http_filters>` for if and how it is utilized.
     * [#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) { internalGetMutableTypedPerFilterConfig().getMutableMap() .putAll(values); return this; } private java.util.List requestHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureRequestHeadersToAddIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { requestHeadersToAdd_ = new java.util.ArrayList(requestHeadersToAdd_); bitField0_ |= 0x00000002; } } 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_ & ~0x00000002); 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_ & 0x00000002) != 0), getParentForChildren(), isClean()); requestHeadersToAdd_ = null; } return requestHeadersToAddBuilder_; } private com.google.protobuf.LazyStringList requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureRequestHeadersToRemoveIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(requestHeadersToRemove_); bitField0_ |= 0x00000004; } } /** *
     * 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_.getUnmodifiableView(); } /** *
     * 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); 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); 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_); 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.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); 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); onChanged(); return this; } private java.util.List responseHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureResponseHeadersToAddIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { responseHeadersToAdd_ = new java.util.ArrayList(responseHeadersToAdd_); bitField0_ |= 0x00000008; } } 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_ & ~0x00000008); 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_ & 0x00000008) != 0), getParentForChildren(), isClean()); responseHeadersToAdd_ = null; } return responseHeadersToAddBuilder_; } private com.google.protobuf.LazyStringList responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureResponseHeadersToRemoveIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(responseHeadersToRemove_); bitField0_ |= 0x00000010; } } /** *
     * 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_.getUnmodifiableView(); } /** *
     * 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); 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); 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_); 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.EMPTY; bitField0_ = (bitField0_ & ~0x00000010); 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); 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 tracingBuilder_ != null || tracing_ != null; } /** *
     * 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; onChanged(); } else { tracingBuilder_.setMessage(value); } 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(); onChanged(); } else { tracingBuilder_.setMessage(builderForValue.build()); } 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 (tracing_ != null) { tracing_ = io.envoyproxy.envoy.config.route.v3.Tracing.newBuilder(tracing_).mergeFrom(value).buildPartial(); } else { tracing_ = value; } onChanged(); } else { tracingBuilder_.mergeFrom(value); } 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() { if (tracingBuilder_ == null) { tracing_ = null; onChanged(); } else { tracing_ = null; tracingBuilder_ = null; } 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() { 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 perRequestBufferLimitBytesBuilder_ != null || perRequestBufferLimitBytes_ != null; } /** *
     * 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; onChanged(); } else { perRequestBufferLimitBytesBuilder_.setMessage(value); } 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(); onChanged(); } else { perRequestBufferLimitBytesBuilder_.setMessage(builderForValue.build()); } 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 (perRequestBufferLimitBytes_ != null) { perRequestBufferLimitBytes_ = com.google.protobuf.UInt32Value.newBuilder(perRequestBufferLimitBytes_).mergeFrom(value).buildPartial(); } else { perRequestBufferLimitBytes_ = value; } onChanged(); } else { perRequestBufferLimitBytesBuilder_.mergeFrom(value); } 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() { if (perRequestBufferLimitBytesBuilder_ == null) { perRequestBufferLimitBytes_ = null; onChanged(); } else { perRequestBufferLimitBytes_ = null; perRequestBufferLimitBytesBuilder_ = null; } 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() { 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; 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(); 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; 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 { return new Route(input, extensionRegistry); } }; 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 - 2024 Weber Informatics LLC | Privacy Policy