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

com.google.api.RoutingParameter Maven / Gradle / Ivy

There is a newer version: 2.49.0
Show newest version
/*
 * Copyright 2024 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/api/routing.proto

// Protobuf Java Version: 3.25.4
package com.google.api;

/**
 *
 *
 * 
 * A projection from an input message to the GRPC or REST header.
 * 
* * Protobuf type {@code google.api.RoutingParameter} */ public final class RoutingParameter extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.api.RoutingParameter) RoutingParameterOrBuilder { private static final long serialVersionUID = 0L; // Use RoutingParameter.newBuilder() to construct. private RoutingParameter(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private RoutingParameter() { field_ = ""; pathTemplate_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new RoutingParameter(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.api.RoutingProto.internal_static_google_api_RoutingParameter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.api.RoutingProto .internal_static_google_api_RoutingParameter_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.api.RoutingParameter.class, com.google.api.RoutingParameter.Builder.class); } public static final int FIELD_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object field_ = ""; /** * * *
   * A request field to extract the header key-value pair from.
   * 
* * string field = 1; * * @return The field. */ @java.lang.Override public java.lang.String getField() { java.lang.Object ref = field_; 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(); field_ = s; return s; } } /** * * *
   * A request field to extract the header key-value pair from.
   * 
* * string field = 1; * * @return The bytes for field. */ @java.lang.Override public com.google.protobuf.ByteString getFieldBytes() { java.lang.Object ref = field_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); field_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PATH_TEMPLATE_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object pathTemplate_ = ""; /** * * *
   * A pattern matching the key-value field. Optional.
   * If not specified, the whole field specified in the `field` field will be
   * taken as value, and its name used as key. If specified, it MUST contain
   * exactly one named segment (along with any number of unnamed segments) The
   * pattern will be matched over the field specified in the `field` field, then
   * if the match is successful:
   * - the name of the single named segment will be used as a header name,
   * - the match value of the segment will be used as a header value;
   * if the match is NOT successful, nothing will be sent.
   *
   * Example:
   *
   *               -- This is a field in the request message
   *              |   that the header value will be extracted from.
   *              |
   *              |                     -- This is the key name in the
   *              |                    |   routing header.
   *              V                    |
   *     field: "table_name"           v
   *     path_template: "projects/*/{table_location=instances/*}/tables/*"
   *                                                ^            ^
   *                                                |            |
   *       In the {} brackets is the pattern that --             |
   *       specifies what to extract from the                    |
   *       field as a value to be sent.                          |
   *                                                             |
   *      The string in the field must match the whole pattern --
   *      before brackets, inside brackets, after brackets.
   *
   * When looking at this specific example, we can see that:
   * - A key-value pair with the key `table_location`
   *   and the value matching `instances/*` should be added
   *   to the x-goog-request-params routing header.
   * - The value is extracted from the request message's `table_name` field
   *   if it matches the full pattern specified:
   *   `projects/*/instances/*/tables/*`.
   *
   * **NB:** If the `path_template` field is not provided, the key name is
   * equal to the field name, and the whole field should be sent as a value.
   * This makes the pattern for the field and the value functionally equivalent
   * to `**`, and the configuration
   *
   *     {
   *       field: "table_name"
   *     }
   *
   * is a functionally equivalent shorthand to:
   *
   *     {
   *       field: "table_name"
   *       path_template: "{table_name=**}"
   *     }
   *
   * See Example 1 for more details.
   * 
* * string path_template = 2; * * @return The pathTemplate. */ @java.lang.Override public java.lang.String getPathTemplate() { java.lang.Object ref = pathTemplate_; 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(); pathTemplate_ = s; return s; } } /** * * *
   * A pattern matching the key-value field. Optional.
   * If not specified, the whole field specified in the `field` field will be
   * taken as value, and its name used as key. If specified, it MUST contain
   * exactly one named segment (along with any number of unnamed segments) The
   * pattern will be matched over the field specified in the `field` field, then
   * if the match is successful:
   * - the name of the single named segment will be used as a header name,
   * - the match value of the segment will be used as a header value;
   * if the match is NOT successful, nothing will be sent.
   *
   * Example:
   *
   *               -- This is a field in the request message
   *              |   that the header value will be extracted from.
   *              |
   *              |                     -- This is the key name in the
   *              |                    |   routing header.
   *              V                    |
   *     field: "table_name"           v
   *     path_template: "projects/*/{table_location=instances/*}/tables/*"
   *                                                ^            ^
   *                                                |            |
   *       In the {} brackets is the pattern that --             |
   *       specifies what to extract from the                    |
   *       field as a value to be sent.                          |
   *                                                             |
   *      The string in the field must match the whole pattern --
   *      before brackets, inside brackets, after brackets.
   *
   * When looking at this specific example, we can see that:
   * - A key-value pair with the key `table_location`
   *   and the value matching `instances/*` should be added
   *   to the x-goog-request-params routing header.
   * - The value is extracted from the request message's `table_name` field
   *   if it matches the full pattern specified:
   *   `projects/*/instances/*/tables/*`.
   *
   * **NB:** If the `path_template` field is not provided, the key name is
   * equal to the field name, and the whole field should be sent as a value.
   * This makes the pattern for the field and the value functionally equivalent
   * to `**`, and the configuration
   *
   *     {
   *       field: "table_name"
   *     }
   *
   * is a functionally equivalent shorthand to:
   *
   *     {
   *       field: "table_name"
   *       path_template: "{table_name=**}"
   *     }
   *
   * See Example 1 for more details.
   * 
* * string path_template = 2; * * @return The bytes for pathTemplate. */ @java.lang.Override public com.google.protobuf.ByteString getPathTemplateBytes() { java.lang.Object ref = pathTemplate_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pathTemplate_ = 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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(field_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, field_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pathTemplate_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, pathTemplate_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(field_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, field_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pathTemplate_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, pathTemplate_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.api.RoutingParameter)) { return super.equals(obj); } com.google.api.RoutingParameter other = (com.google.api.RoutingParameter) obj; if (!getField().equals(other.getField())) return false; if (!getPathTemplate().equals(other.getPathTemplate())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + FIELD_FIELD_NUMBER; hash = (53 * hash) + getField().hashCode(); hash = (37 * hash) + PATH_TEMPLATE_FIELD_NUMBER; hash = (53 * hash) + getPathTemplate().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.api.RoutingParameter parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.api.RoutingParameter parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.api.RoutingParameter parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.api.RoutingParameter parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.api.RoutingParameter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.api.RoutingParameter parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.api.RoutingParameter parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.api.RoutingParameter 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 com.google.api.RoutingParameter parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.api.RoutingParameter 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 com.google.api.RoutingParameter parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.api.RoutingParameter 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(com.google.api.RoutingParameter 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 projection from an input message to the GRPC or REST header.
   * 
* * Protobuf type {@code google.api.RoutingParameter} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.api.RoutingParameter) com.google.api.RoutingParameterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.api.RoutingProto.internal_static_google_api_RoutingParameter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.api.RoutingProto .internal_static_google_api_RoutingParameter_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.api.RoutingParameter.class, com.google.api.RoutingParameter.Builder.class); } // Construct using com.google.api.RoutingParameter.newBuilder() private Builder() {} private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; field_ = ""; pathTemplate_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.api.RoutingProto.internal_static_google_api_RoutingParameter_descriptor; } @java.lang.Override public com.google.api.RoutingParameter getDefaultInstanceForType() { return com.google.api.RoutingParameter.getDefaultInstance(); } @java.lang.Override public com.google.api.RoutingParameter build() { com.google.api.RoutingParameter result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.api.RoutingParameter buildPartial() { com.google.api.RoutingParameter result = new com.google.api.RoutingParameter(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.api.RoutingParameter result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.field_ = field_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.pathTemplate_ = pathTemplate_; } } @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 com.google.api.RoutingParameter) { return mergeFrom((com.google.api.RoutingParameter) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.api.RoutingParameter other) { if (other == com.google.api.RoutingParameter.getDefaultInstance()) return this; if (!other.getField().isEmpty()) { field_ = other.field_; bitField0_ |= 0x00000001; onChanged(); } if (!other.getPathTemplate().isEmpty()) { pathTemplate_ = other.pathTemplate_; bitField0_ |= 0x00000002; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { field_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { pathTemplate_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object field_ = ""; /** * * *
     * A request field to extract the header key-value pair from.
     * 
* * string field = 1; * * @return The field. */ public java.lang.String getField() { java.lang.Object ref = field_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); field_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * A request field to extract the header key-value pair from.
     * 
* * string field = 1; * * @return The bytes for field. */ public com.google.protobuf.ByteString getFieldBytes() { java.lang.Object ref = field_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); field_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * A request field to extract the header key-value pair from.
     * 
* * string field = 1; * * @param value The field to set. * @return This builder for chaining. */ public Builder setField(java.lang.String value) { if (value == null) { throw new NullPointerException(); } field_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
     * A request field to extract the header key-value pair from.
     * 
* * string field = 1; * * @return This builder for chaining. */ public Builder clearField() { field_ = getDefaultInstance().getField(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
     * A request field to extract the header key-value pair from.
     * 
* * string field = 1; * * @param value The bytes for field to set. * @return This builder for chaining. */ public Builder setFieldBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); field_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object pathTemplate_ = ""; /** * * *
     * A pattern matching the key-value field. Optional.
     * If not specified, the whole field specified in the `field` field will be
     * taken as value, and its name used as key. If specified, it MUST contain
     * exactly one named segment (along with any number of unnamed segments) The
     * pattern will be matched over the field specified in the `field` field, then
     * if the match is successful:
     * - the name of the single named segment will be used as a header name,
     * - the match value of the segment will be used as a header value;
     * if the match is NOT successful, nothing will be sent.
     *
     * Example:
     *
     *               -- This is a field in the request message
     *              |   that the header value will be extracted from.
     *              |
     *              |                     -- This is the key name in the
     *              |                    |   routing header.
     *              V                    |
     *     field: "table_name"           v
     *     path_template: "projects/*/{table_location=instances/*}/tables/*"
     *                                                ^            ^
     *                                                |            |
     *       In the {} brackets is the pattern that --             |
     *       specifies what to extract from the                    |
     *       field as a value to be sent.                          |
     *                                                             |
     *      The string in the field must match the whole pattern --
     *      before brackets, inside brackets, after brackets.
     *
     * When looking at this specific example, we can see that:
     * - A key-value pair with the key `table_location`
     *   and the value matching `instances/*` should be added
     *   to the x-goog-request-params routing header.
     * - The value is extracted from the request message's `table_name` field
     *   if it matches the full pattern specified:
     *   `projects/*/instances/*/tables/*`.
     *
     * **NB:** If the `path_template` field is not provided, the key name is
     * equal to the field name, and the whole field should be sent as a value.
     * This makes the pattern for the field and the value functionally equivalent
     * to `**`, and the configuration
     *
     *     {
     *       field: "table_name"
     *     }
     *
     * is a functionally equivalent shorthand to:
     *
     *     {
     *       field: "table_name"
     *       path_template: "{table_name=**}"
     *     }
     *
     * See Example 1 for more details.
     * 
* * string path_template = 2; * * @return The pathTemplate. */ public java.lang.String getPathTemplate() { java.lang.Object ref = pathTemplate_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); pathTemplate_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * A pattern matching the key-value field. Optional.
     * If not specified, the whole field specified in the `field` field will be
     * taken as value, and its name used as key. If specified, it MUST contain
     * exactly one named segment (along with any number of unnamed segments) The
     * pattern will be matched over the field specified in the `field` field, then
     * if the match is successful:
     * - the name of the single named segment will be used as a header name,
     * - the match value of the segment will be used as a header value;
     * if the match is NOT successful, nothing will be sent.
     *
     * Example:
     *
     *               -- This is a field in the request message
     *              |   that the header value will be extracted from.
     *              |
     *              |                     -- This is the key name in the
     *              |                    |   routing header.
     *              V                    |
     *     field: "table_name"           v
     *     path_template: "projects/*/{table_location=instances/*}/tables/*"
     *                                                ^            ^
     *                                                |            |
     *       In the {} brackets is the pattern that --             |
     *       specifies what to extract from the                    |
     *       field as a value to be sent.                          |
     *                                                             |
     *      The string in the field must match the whole pattern --
     *      before brackets, inside brackets, after brackets.
     *
     * When looking at this specific example, we can see that:
     * - A key-value pair with the key `table_location`
     *   and the value matching `instances/*` should be added
     *   to the x-goog-request-params routing header.
     * - The value is extracted from the request message's `table_name` field
     *   if it matches the full pattern specified:
     *   `projects/*/instances/*/tables/*`.
     *
     * **NB:** If the `path_template` field is not provided, the key name is
     * equal to the field name, and the whole field should be sent as a value.
     * This makes the pattern for the field and the value functionally equivalent
     * to `**`, and the configuration
     *
     *     {
     *       field: "table_name"
     *     }
     *
     * is a functionally equivalent shorthand to:
     *
     *     {
     *       field: "table_name"
     *       path_template: "{table_name=**}"
     *     }
     *
     * See Example 1 for more details.
     * 
* * string path_template = 2; * * @return The bytes for pathTemplate. */ public com.google.protobuf.ByteString getPathTemplateBytes() { java.lang.Object ref = pathTemplate_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pathTemplate_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * A pattern matching the key-value field. Optional.
     * If not specified, the whole field specified in the `field` field will be
     * taken as value, and its name used as key. If specified, it MUST contain
     * exactly one named segment (along with any number of unnamed segments) The
     * pattern will be matched over the field specified in the `field` field, then
     * if the match is successful:
     * - the name of the single named segment will be used as a header name,
     * - the match value of the segment will be used as a header value;
     * if the match is NOT successful, nothing will be sent.
     *
     * Example:
     *
     *               -- This is a field in the request message
     *              |   that the header value will be extracted from.
     *              |
     *              |                     -- This is the key name in the
     *              |                    |   routing header.
     *              V                    |
     *     field: "table_name"           v
     *     path_template: "projects/*/{table_location=instances/*}/tables/*"
     *                                                ^            ^
     *                                                |            |
     *       In the {} brackets is the pattern that --             |
     *       specifies what to extract from the                    |
     *       field as a value to be sent.                          |
     *                                                             |
     *      The string in the field must match the whole pattern --
     *      before brackets, inside brackets, after brackets.
     *
     * When looking at this specific example, we can see that:
     * - A key-value pair with the key `table_location`
     *   and the value matching `instances/*` should be added
     *   to the x-goog-request-params routing header.
     * - The value is extracted from the request message's `table_name` field
     *   if it matches the full pattern specified:
     *   `projects/*/instances/*/tables/*`.
     *
     * **NB:** If the `path_template` field is not provided, the key name is
     * equal to the field name, and the whole field should be sent as a value.
     * This makes the pattern for the field and the value functionally equivalent
     * to `**`, and the configuration
     *
     *     {
     *       field: "table_name"
     *     }
     *
     * is a functionally equivalent shorthand to:
     *
     *     {
     *       field: "table_name"
     *       path_template: "{table_name=**}"
     *     }
     *
     * See Example 1 for more details.
     * 
* * string path_template = 2; * * @param value The pathTemplate to set. * @return This builder for chaining. */ public Builder setPathTemplate(java.lang.String value) { if (value == null) { throw new NullPointerException(); } pathTemplate_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
     * A pattern matching the key-value field. Optional.
     * If not specified, the whole field specified in the `field` field will be
     * taken as value, and its name used as key. If specified, it MUST contain
     * exactly one named segment (along with any number of unnamed segments) The
     * pattern will be matched over the field specified in the `field` field, then
     * if the match is successful:
     * - the name of the single named segment will be used as a header name,
     * - the match value of the segment will be used as a header value;
     * if the match is NOT successful, nothing will be sent.
     *
     * Example:
     *
     *               -- This is a field in the request message
     *              |   that the header value will be extracted from.
     *              |
     *              |                     -- This is the key name in the
     *              |                    |   routing header.
     *              V                    |
     *     field: "table_name"           v
     *     path_template: "projects/*/{table_location=instances/*}/tables/*"
     *                                                ^            ^
     *                                                |            |
     *       In the {} brackets is the pattern that --             |
     *       specifies what to extract from the                    |
     *       field as a value to be sent.                          |
     *                                                             |
     *      The string in the field must match the whole pattern --
     *      before brackets, inside brackets, after brackets.
     *
     * When looking at this specific example, we can see that:
     * - A key-value pair with the key `table_location`
     *   and the value matching `instances/*` should be added
     *   to the x-goog-request-params routing header.
     * - The value is extracted from the request message's `table_name` field
     *   if it matches the full pattern specified:
     *   `projects/*/instances/*/tables/*`.
     *
     * **NB:** If the `path_template` field is not provided, the key name is
     * equal to the field name, and the whole field should be sent as a value.
     * This makes the pattern for the field and the value functionally equivalent
     * to `**`, and the configuration
     *
     *     {
     *       field: "table_name"
     *     }
     *
     * is a functionally equivalent shorthand to:
     *
     *     {
     *       field: "table_name"
     *       path_template: "{table_name=**}"
     *     }
     *
     * See Example 1 for more details.
     * 
* * string path_template = 2; * * @return This builder for chaining. */ public Builder clearPathTemplate() { pathTemplate_ = getDefaultInstance().getPathTemplate(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** * * *
     * A pattern matching the key-value field. Optional.
     * If not specified, the whole field specified in the `field` field will be
     * taken as value, and its name used as key. If specified, it MUST contain
     * exactly one named segment (along with any number of unnamed segments) The
     * pattern will be matched over the field specified in the `field` field, then
     * if the match is successful:
     * - the name of the single named segment will be used as a header name,
     * - the match value of the segment will be used as a header value;
     * if the match is NOT successful, nothing will be sent.
     *
     * Example:
     *
     *               -- This is a field in the request message
     *              |   that the header value will be extracted from.
     *              |
     *              |                     -- This is the key name in the
     *              |                    |   routing header.
     *              V                    |
     *     field: "table_name"           v
     *     path_template: "projects/*/{table_location=instances/*}/tables/*"
     *                                                ^            ^
     *                                                |            |
     *       In the {} brackets is the pattern that --             |
     *       specifies what to extract from the                    |
     *       field as a value to be sent.                          |
     *                                                             |
     *      The string in the field must match the whole pattern --
     *      before brackets, inside brackets, after brackets.
     *
     * When looking at this specific example, we can see that:
     * - A key-value pair with the key `table_location`
     *   and the value matching `instances/*` should be added
     *   to the x-goog-request-params routing header.
     * - The value is extracted from the request message's `table_name` field
     *   if it matches the full pattern specified:
     *   `projects/*/instances/*/tables/*`.
     *
     * **NB:** If the `path_template` field is not provided, the key name is
     * equal to the field name, and the whole field should be sent as a value.
     * This makes the pattern for the field and the value functionally equivalent
     * to `**`, and the configuration
     *
     *     {
     *       field: "table_name"
     *     }
     *
     * is a functionally equivalent shorthand to:
     *
     *     {
     *       field: "table_name"
     *       path_template: "{table_name=**}"
     *     }
     *
     * See Example 1 for more details.
     * 
* * string path_template = 2; * * @param value The bytes for pathTemplate to set. * @return This builder for chaining. */ public Builder setPathTemplateBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); pathTemplate_ = value; bitField0_ |= 0x00000002; 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:google.api.RoutingParameter) } // @@protoc_insertion_point(class_scope:google.api.RoutingParameter) private static final com.google.api.RoutingParameter DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.api.RoutingParameter(); } public static com.google.api.RoutingParameter getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RoutingParameter parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.api.RoutingParameter getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy