Package com.google.api
Class RoutingRule.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderType>
-
- com.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
- com.google.api.RoutingRule.Builder
-
- All Implemented Interfaces:
RoutingRuleOrBuilder,com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Cloneable
- Enclosing class:
- RoutingRule
public static final class RoutingRule.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder> implements RoutingRuleOrBuilder
Specifies the routing information that should be sent along with the request in the form of routing header. **NOTE:** All service configuration rules follow the "last one wins" order. The examples below will apply to an RPC which has the following request type: Message Definition: message Request { // The name of the Table // Values can be of the following formats: // - `projects/<project>/tables/<table>` // - `projects/<project>/instances/<instance>/tables/<table>` // - `region/<region>/zones/<zone>/tables/<table>` string table_name = 1; // This value specifies routing for replication. // It can be in the following formats: // - `profiles/<profile_id>` // - a legacy `profile_id` that can be any string string app_profile_id = 2; } Example message: { table_name: projects/proj_foo/instances/instance_bar/table/table_baz, app_profile_id: profiles/prof_qux } The routing header consists of one or multiple key-value pairs. Every key and value must be percent-encoded, and joined together in the format of `key1=value1&key2=value2`. In the examples below I am skipping the percent-encoding for readablity. Example 1 Extracting a field from the request to put into the routing header unchanged, with the key equal to the field name. annotation: option (google.api.routing) = { // Take the `app_profile_id`. routing_parameters { field: "app_profile_id" } }; result: x-goog-request-params: app_profile_id=profiles/prof_qux Example 2 Extracting a field from the request to put into the routing header unchanged, with the key different from the field name. annotation: option (google.api.routing) = { // Take the `app_profile_id`, but name it `routing_id` in the header. routing_parameters { field: "app_profile_id" path_template: "{routing_id=**}" } }; result: x-goog-request-params: routing_id=profiles/prof_qux Example 3 Extracting a field from the request to put into the routing header, while matching a path template syntax on the field's value. NB: it is more useful to send nothing than to send garbage for the purpose of dynamic routing, since garbage pollutes cache. Thus the matching. Sub-example 3a The field matches the template. annotation: option (google.api.routing) = { // Take the `table_name`, if it's well-formed (with project-based // syntax). routing_parameters { field: "table_name" path_template: "{table_name=projects/*/instances/*/**}" } }; result: x-goog-request-params: table_name=projects/proj_foo/instances/instance_bar/table/table_baz Sub-example 3b The field does not match the template. annotation: option (google.api.routing) = { // Take the `table_name`, if it's well-formed (with region-based // syntax). routing_parameters { field: "table_name" path_template: "{table_name=regions/*/zones/*/**}" } }; result: <no routing header will be sent> Sub-example 3c Multiple alternative conflictingly named path templates are specified. The one that matches is used to construct the header. annotation: option (google.api.routing) = { // Take the `table_name`, if it's well-formed, whether // using the region- or projects-based syntax. routing_parameters { field: "table_name" path_template: "{table_name=regions/*/zones/*/**}" } routing_parameters { field: "table_name" path_template: "{table_name=projects/*/instances/*/**}" } }; result: x-goog-request-params: table_name=projects/proj_foo/instances/instance_bar/table/table_baz Example 4 Extracting a single routing header key-value pair by matching a template syntax on (a part of) a single request field. annotation: option (google.api.routing) = { // Take just the project id from the `table_name` field. routing_parameters { field: "table_name" path_template: "{routing_id=projects/*}/**" } }; result: x-goog-request-params: routing_id=projects/proj_foo Example 5 Extracting a single routing header key-value pair by matching several conflictingly named path templates on (parts of) a single request field. The last template to match "wins" the conflict. annotation: option (google.api.routing) = { // If the `table_name` does not have instances information, // take just the project id for routing. // Otherwise take project + instance. routing_parameters { field: "table_name" path_template: "{routing_id=projects/*}/**" } routing_parameters { field: "table_name" path_template: "{routing_id=projects/*/instances/*}/**" } }; result: x-goog-request-params: routing_id=projects/proj_foo/instances/instance_bar Example 6 Extracting multiple routing header key-value pairs by matching several non-conflicting path templates on (parts of) a single request field. Sub-example 6a Make the templates strict, so that if the `table_name` does not have an instance information, nothing is sent. annotation: option (google.api.routing) = { // The routing code needs two keys instead of one composite // but works only for the tables with the "project-instance" name // syntax. routing_parameters { field: "table_name" path_template: "{project_id=projects/*}/instances/*/**" } routing_parameters { field: "table_name" path_template: "projects/*/{instance_id=instances/*}/**" } }; result: x-goog-request-params: project_id=projects/proj_foo&instance_id=instances/instance_bar Sub-example 6b Make the templates loose, so that if the `table_name` does not have an instance information, just the project id part is sent. annotation: option (google.api.routing) = { // The routing code wants two keys instead of one composite // but will work with just the `project_id` for tables without // an instance in the `table_name`. routing_parameters { field: "table_name" path_template: "{project_id=projects/*}/**" } routing_parameters { field: "table_name" path_template: "projects/*/{instance_id=instances/*}/**" } }; result (is the same as 6a for our example message because it has the instance information): x-goog-request-params: project_id=projects/proj_foo&instance_id=instances/instance_bar Example 7 Extracting multiple routing header key-value pairs by matching several path templates on multiple request fields. NB: note that here there is no way to specify sending nothing if one of the fields does not match its template. E.g. if the `table_name` is in the wrong format, the `project_id` will not be sent, but the `routing_id` will be. The backend routing code has to be aware of that and be prepared to not receive a full complement of keys if it expects multiple. annotation: option (google.api.routing) = { // The routing needs both `project_id` and `routing_id` // (from the `app_profile_id` field) for routing. routing_parameters { field: "table_name" path_template: "{project_id=projects/*}/**" } routing_parameters { field: "app_profile_id" path_template: "{routing_id=**}" } }; result: x-goog-request-params: project_id=projects/proj_foo&routing_id=profiles/prof_qux Example 8 Extracting a single routing header key-value pair by matching several conflictingly named path templates on several request fields. The last template to match "wins" the conflict. annotation: option (google.api.routing) = { // The `routing_id` can be a project id or a region id depending on // the table name format, but only if the `app_profile_id` is not set. // If `app_profile_id` is set it should be used instead. routing_parameters { field: "table_name" path_template: "{routing_id=projects/*}/**" } routing_parameters { field: "table_name" path_template: "{routing_id=regions/*}/**" } routing_parameters { field: "app_profile_id" path_template: "{routing_id=**}" } }; result: x-goog-request-params: routing_id=profiles/prof_qux Example 9 Bringing it all together. annotation: option (google.api.routing) = { // For routing both `table_location` and a `routing_id` are needed. // // table_location can be either an instance id or a region+zone id. // // For `routing_id`, take the value of `app_profile_id` // - If it's in the format `profiles/<profile_id>`, send // just the `<profile_id>` part. // - If it's any other literal, send it as is. // If the `app_profile_id` is empty, and the `table_name` starts with // the project_id, send that instead. routing_parameters { field: "table_name" path_template: "projects/*/{table_location=instances/*}/tables/*" } routing_parameters { field: "table_name" path_template: "{table_location=regions/*/zones/*}/tables/*" } routing_parameters { field: "table_name" path_template: "{routing_id=projects/*}/**" } routing_parameters { field: "app_profile_id" path_template: "{routing_id=**}" } routing_parameters { field: "app_profile_id" path_template: "profiles/{routing_id=*}" } }; result: x-goog-request-params: table_location=instances/instance_bar&routing_id=prof_quxProtobuf typegoogle.api.RoutingRule
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RoutingRule.BuilderaddAllRoutingParameters(Iterable<? extends RoutingParameter> values)A collection of Routing Parameter specifications.RoutingRule.BuilderaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RoutingRule.BuilderaddRoutingParameters(int index, RoutingParameter value)A collection of Routing Parameter specifications.RoutingRule.BuilderaddRoutingParameters(int index, RoutingParameter.Builder builderForValue)A collection of Routing Parameter specifications.RoutingRule.BuilderaddRoutingParameters(RoutingParameter value)A collection of Routing Parameter specifications.RoutingRule.BuilderaddRoutingParameters(RoutingParameter.Builder builderForValue)A collection of Routing Parameter specifications.RoutingParameter.BuilderaddRoutingParametersBuilder()A collection of Routing Parameter specifications.RoutingParameter.BuilderaddRoutingParametersBuilder(int index)A collection of Routing Parameter specifications.RoutingRulebuild()RoutingRulebuildPartial()RoutingRule.Builderclear()RoutingRule.BuilderclearField(com.google.protobuf.Descriptors.FieldDescriptor field)RoutingRule.BuilderclearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)RoutingRule.BuilderclearRoutingParameters()A collection of Routing Parameter specifications.RoutingRule.Builderclone()RoutingRulegetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()com.google.protobuf.Descriptors.DescriptorgetDescriptorForType()RoutingParametergetRoutingParameters(int index)A collection of Routing Parameter specifications.RoutingParameter.BuildergetRoutingParametersBuilder(int index)A collection of Routing Parameter specifications.List<RoutingParameter.Builder>getRoutingParametersBuilderList()A collection of Routing Parameter specifications.intgetRoutingParametersCount()A collection of Routing Parameter specifications.List<RoutingParameter>getRoutingParametersList()A collection of Routing Parameter specifications.RoutingParameterOrBuildergetRoutingParametersOrBuilder(int index)A collection of Routing Parameter specifications.List<? extends RoutingParameterOrBuilder>getRoutingParametersOrBuilderList()A collection of Routing Parameter specifications.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()RoutingRule.BuildermergeFrom(RoutingRule other)RoutingRule.BuildermergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)RoutingRule.BuildermergeFrom(com.google.protobuf.Message other)RoutingRule.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)RoutingRule.BuilderremoveRoutingParameters(int index)A collection of Routing Parameter specifications.RoutingRule.BuildersetField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)RoutingRule.BuildersetRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)RoutingRule.BuildersetRoutingParameters(int index, RoutingParameter value)A collection of Routing Parameter specifications.RoutingRule.BuildersetRoutingParameters(int index, RoutingParameter.Builder builderForValue)A collection of Routing Parameter specifications.RoutingRule.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
clear
public RoutingRule.Builder clear()
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
getDefaultInstanceForType
public RoutingRule getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public RoutingRule build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public RoutingRule buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public RoutingRule.Builder clone()
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
setField
public RoutingRule.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
clearField
public RoutingRule.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
clearOneof
public RoutingRule.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
setRepeatedField
public RoutingRule.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
- Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
addRepeatedField
public RoutingRule.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
mergeFrom
public RoutingRule.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RoutingRule.Builder>
-
mergeFrom
public RoutingRule.Builder mergeFrom(RoutingRule other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
mergeFrom
public RoutingRule.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<RoutingRule.Builder>- Throws:
IOException
-
getRoutingParametersList
public List<RoutingParameter> getRoutingParametersList()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;- Specified by:
getRoutingParametersListin interfaceRoutingRuleOrBuilder
-
getRoutingParametersCount
public int getRoutingParametersCount()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;- Specified by:
getRoutingParametersCountin interfaceRoutingRuleOrBuilder
-
getRoutingParameters
public RoutingParameter getRoutingParameters(int index)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;- Specified by:
getRoutingParametersin interfaceRoutingRuleOrBuilder
-
setRoutingParameters
public RoutingRule.Builder setRoutingParameters(int index, RoutingParameter value)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
setRoutingParameters
public RoutingRule.Builder setRoutingParameters(int index, RoutingParameter.Builder builderForValue)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addRoutingParameters
public RoutingRule.Builder addRoutingParameters(RoutingParameter value)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addRoutingParameters
public RoutingRule.Builder addRoutingParameters(int index, RoutingParameter value)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addRoutingParameters
public RoutingRule.Builder addRoutingParameters(RoutingParameter.Builder builderForValue)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addRoutingParameters
public RoutingRule.Builder addRoutingParameters(int index, RoutingParameter.Builder builderForValue)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addAllRoutingParameters
public RoutingRule.Builder addAllRoutingParameters(Iterable<? extends RoutingParameter> values)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
clearRoutingParameters
public RoutingRule.Builder clearRoutingParameters()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
removeRoutingParameters
public RoutingRule.Builder removeRoutingParameters(int index)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
getRoutingParametersBuilder
public RoutingParameter.Builder getRoutingParametersBuilder(int index)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
getRoutingParametersOrBuilder
public RoutingParameterOrBuilder getRoutingParametersOrBuilder(int index)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;- Specified by:
getRoutingParametersOrBuilderin interfaceRoutingRuleOrBuilder
-
getRoutingParametersOrBuilderList
public List<? extends RoutingParameterOrBuilder> getRoutingParametersOrBuilderList()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;- Specified by:
getRoutingParametersOrBuilderListin interfaceRoutingRuleOrBuilder
-
addRoutingParametersBuilder
public RoutingParameter.Builder addRoutingParametersBuilder()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
addRoutingParametersBuilder
public RoutingParameter.Builder addRoutingParametersBuilder(int index)
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
getRoutingParametersBuilderList
public List<RoutingParameter.Builder> getRoutingParametersBuilderList()
A collection of Routing Parameter specifications. **NOTE:** If multiple Routing Parameters describe the same key (via the `path_template` field or via the `field` field when `path_template` is not provided), "last one wins" rule determines which Parameter gets used. See the examples for more details.
repeated .google.api.RoutingParameter routing_parameters = 2;
-
setUnknownFields
public final RoutingRule.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
mergeUnknownFields
public final RoutingRule.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<RoutingRule.Builder>
-
-