diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index 2a45129f119e..58d91a0b2dd5 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -435,6 +435,13 @@ pom import + + com.google.cloud + google-cloud-commerceproducer-bom + 0.1.0-SNAPSHOT + pom + import + com.google.cloud google-cloud-compute-bom diff --git a/java-commerceproducer/.repo-metadata.json b/java-commerceproducer/.repo-metadata.json new file mode 100644 index 000000000000..4b15ef0dca64 --- /dev/null +++ b/java-commerceproducer/.repo-metadata.json @@ -0,0 +1,15 @@ +{ + "api_shortname": "commerceproducer", + "name_pretty": "Cloud Commerce Producer", + "product_documentation": "https://docs.cloud.google.com/marketplace/", + "api_description": "Partner API for the Cloud Commerce Producer API Early Access.", + "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-commerceproducer/latest/overview", + "release_level": "preview", + "transport": "grpc+rest", + "language": "java", + "repo": "googleapis/google-cloud-java", + "repo_short": "java-commerceproducer", + "distribution_name": "com.google.cloud:google-cloud-commerceproducer", + "api_id": "commerceproducer.googleapis.com", + "library_type": "GAPIC_AUTO" +} \ No newline at end of file diff --git a/java-commerceproducer/README.md b/java-commerceproducer/README.md new file mode 100644 index 000000000000..78a9dcd9a38f --- /dev/null +++ b/java-commerceproducer/README.md @@ -0,0 +1,210 @@ +# Google Cloud Commerce Producer Client for Java + +Java idiomatic client for [Cloud Commerce Producer][product-docs]. + +[![Maven][maven-version-image]][maven-version-link] +![Stability][stability-image] + +- [Product Documentation][product-docs] +- [Client Library Documentation][javadocs] + +> Note: This client is a work-in-progress, and may occasionally +> make backwards-incompatible changes. + + +## Quickstart + +If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: + +```xml + + + + com.google.cloud + libraries-bom + 26.83.0 + pom + import + + + + + + + com.google.cloud + google-cloud-commerceproducer + + +``` + +If you are using Maven without the BOM, add this to your dependencies: + + +```xml + + com.google.cloud + google-cloud-commerceproducer + 0.0.0 + +``` + +If you are using Gradle 5.x or later, add this to your dependencies: + +```Groovy +implementation platform('com.google.cloud:libraries-bom:26.83.0') + +implementation 'com.google.cloud:google-cloud-commerceproducer' +``` + +If you are using Gradle without BOM, add this to your dependencies: + +```Groovy +implementation 'com.google.cloud:google-cloud-commerceproducer:0.0.0' +``` + +If you are using SBT, add this to your dependencies: + +```Scala +libraryDependencies += "com.google.cloud" % "google-cloud-commerceproducer" % "0.0.0" +``` + +## Authentication + +See the [Authentication][authentication] section in the base directory's README. + +## Authorization + +The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Cloud Commerce Producer APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Cloud Commerce Producer API calls. + +## Getting Started + +### Prerequisites + +You will need a [Google Cloud Platform Console][developer-console] project with the Cloud Commerce Producer [API enabled][enable-api]. +You will need to [enable billing][enable-billing] to use Google Cloud Commerce Producer. +[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by +[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line: +`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`. + +### Installation and setup + +You'll need to obtain the `google-cloud-commerceproducer` library. See the [Quickstart](#quickstart) section +to add `google-cloud-commerceproducer` as a dependency in your code. + +## About Cloud Commerce Producer + + +[Cloud Commerce Producer][product-docs] Partner API for the Cloud Commerce Producer API Early Access. + +See the [Cloud Commerce Producer client library docs][javadocs] to learn how to +use this Cloud Commerce Producer Client Library. + + + + + + +## Troubleshooting + +To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. + +## Transport + +Cloud Commerce Producer uses both gRPC and HTTP/JSON for the transport layer. + +## Supported Java Versions + +Java 8 or above is required for using this client. + +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + +## Versioning +This library follows [Semantic Versioning](http://semver.org/). + + +It is currently in major version zero (``0.y.z``), which means that anything may change at any time +and the public API should not be considered stable. + + +## Contributing + + +Contributions to this library are always welcome and highly encouraged. + +See [CONTRIBUTING][contributing] for more information how to get started. + +Please note that this project is released with a Contributor Code of Conduct. By participating in +this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more +information. + + +## License + +Apache 2.0 - See [LICENSE][license] for more information. + +Java is a registered trademark of Oracle and/or its affiliates. + +[product-docs]: https://docs.cloud.google.com/marketplace/ +[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-commerceproducer/latest/overview +[stability-image]: https://img.shields.io/badge/stability-preview-yellow +[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-commerceproducer.svg +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-commerceproducer/0.0.0 +[authentication]: https://github.com/googleapis/google-cloud-java#authentication +[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes +[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles +[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy +[developer-console]: https://console.developers.google.com/ +[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects +[cloud-cli]: https://cloud.google.com/cli +[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE +[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing +[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=commerceproducer.googleapis.com +[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java diff --git a/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml b/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml new file mode 100644 index 000000000000..570103906e61 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer-bom/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + com.google.cloud + google-cloud-commerceproducer-bom + 0.1.0-SNAPSHOT + pom + + com.google.cloud + google-cloud-pom-parent + 1.89.0-SNAPSHOT + ../../google-cloud-pom-parent/pom.xml + + + Google Cloud Commerce Producer BOM + + BOM for Cloud Commerce Producer + + + + true + + + + + + + com.google.cloud + google-cloud-commerceproducer + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + + + + + \ No newline at end of file diff --git a/java-commerceproducer/google-cloud-commerceproducer/pom.xml b/java-commerceproducer/google-cloud-commerceproducer/pom.xml new file mode 100644 index 000000000000..3a8f4130fc4b --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + com.google.cloud + google-cloud-commerceproducer + 0.1.0-SNAPSHOT + jar + Google Cloud Commerce Producer + Cloud Commerce Producer Partner API for the Cloud Commerce Producer API Early Access. + + com.google.cloud + google-cloud-commerceproducer-parent + 0.1.0-SNAPSHOT + + + google-cloud-commerceproducer + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.api + api-common + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + + com.google.api.grpc + proto-google-cloud-commerceproducer-v1beta + + + + com.google.guava + guava + + + com.google.api + gax + + + com.google.api + gax-grpc + + + com.google.api + gax-httpjson + + + com.google.api.grpc + proto-google-iam-v1 + + + org.threeten + threetenbp + + + + + com.google.api.grpc + grpc-google-common-protos + test + + + com.google.api.grpc + grpc-google-iam-v1 + test + + + junit + junit + test + + + + com.google.api.grpc + grpc-google-cloud-commerceproducer-v1beta + test + + + + + com.google.api + gax + testlib + test + + + com.google.api + gax-grpc + testlib + test + + + com.google.api + gax-httpjson + testlib + test + + + \ No newline at end of file diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClient.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClient.java new file mode 100644 index 000000000000..ecd6f3c05942 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClient.java @@ -0,0 +1,3835 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.commerceproducer.v1beta.stub.CommerceTransactionStub; +import com.google.cloud.commerceproducer.v1beta.stub.CommerceTransactionStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: APIs related to managing resources that model commercial transactions. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+ *   ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+ *   Service response = commerceTransactionClient.getService(name);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the CommerceTransactionClient object to clean up resources + * such as threads. In the example above, try-with-resources is used, which automatically calls + * close(). + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Methods
MethodDescriptionMethod Variants

ListServices

Lists Services in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listServices(ListServicesRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listServices(LocationName parent) + *

  • listServices(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listServicesPagedCallable() + *

  • listServicesCallable() + *

+ *

GetService

Gets details of a single Service.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getService(GetServiceRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getService(ServiceName name) + *

  • getService(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getServiceCallable() + *

+ *

ListPrivateOffers

Lists PrivateOffers for the given parent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listPrivateOffers(ListPrivateOffersRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listPrivateOffers(LocationName parent) + *

  • listPrivateOffers(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listPrivateOffersPagedCallable() + *

  • listPrivateOffersCallable() + *

+ *

GetPrivateOffer

Gets details of a single PrivateOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getPrivateOffer(GetPrivateOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getPrivateOffer(PrivateOfferName name) + *

  • getPrivateOffer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getPrivateOfferCallable() + *

+ *

CreatePrivateOffer

Creates a new PrivateOffer in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • createPrivateOffer(CreatePrivateOfferRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • createPrivateOfferCallable() + *

+ *

UpdatePrivateOffer

Updates the target PrivateOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updatePrivateOffer(UpdatePrivateOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • updatePrivateOffer(PrivateOffer privateOffer, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updatePrivateOfferCallable() + *

+ *

PublishPrivateOffer

Publishes the target PrivateOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • publishPrivateOffer(PublishPrivateOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • publishPrivateOffer(PrivateOfferName name) + *

  • publishPrivateOffer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • publishPrivateOfferCallable() + *

+ *

CancelPrivateOffer

Cancels the target PrivateOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • cancelPrivateOffer(CancelPrivateOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • cancelPrivateOffer(PrivateOfferName name) + *

  • cancelPrivateOffer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • cancelPrivateOfferCallable() + *

+ *

DeletePrivateOffer

Deletes the target PrivateOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • deletePrivateOffer(DeletePrivateOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • deletePrivateOffer(PrivateOfferName name) + *

  • deletePrivateOffer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • deletePrivateOfferCallable() + *

+ *

ListPrivateOfferDocuments

Lists PrivateOfferDocuments for the given parent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listPrivateOfferDocuments(ListPrivateOfferDocumentsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listPrivateOfferDocuments(PrivateOfferName parent) + *

  • listPrivateOfferDocuments(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listPrivateOfferDocumentsPagedCallable() + *

  • listPrivateOfferDocumentsCallable() + *

+ *

GetPrivateOfferDocument

Gets details of a single PrivateOfferDocument.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getPrivateOfferDocument(GetPrivateOfferDocumentRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getPrivateOfferDocument(PrivateOfferDocumentName name) + *

  • getPrivateOfferDocument(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getPrivateOfferDocumentCallable() + *

+ *

CreatePrivateOfferDocument

Creates a new PrivateOfferDocument in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • createPrivateOfferDocument(CreatePrivateOfferDocumentRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • createPrivateOfferDocumentCallable() + *

+ *

UpdatePrivateOfferDocument

Updates the target PrivateOfferDocument.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updatePrivateOfferDocument(UpdatePrivateOfferDocumentRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • updatePrivateOfferDocument(PrivateOfferDocument privateOfferDocument, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updatePrivateOfferDocumentCallable() + *

+ *

DeletePrivateOfferDocument

Deletes the target PrivateOfferDocument.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • deletePrivateOfferDocument(DeletePrivateOfferDocumentRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • deletePrivateOfferDocument(PrivateOfferDocumentName name) + *

  • deletePrivateOfferDocument(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • deletePrivateOfferDocumentCallable() + *

+ *

ListStandardOffers

Lists StandardOffers for the given parent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listStandardOffers(ListStandardOffersRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listStandardOffers(ServiceName parent) + *

  • listStandardOffers(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listStandardOffersPagedCallable() + *

  • listStandardOffersCallable() + *

+ *

GetStandardOffer

Gets details of a single StandardOffer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getStandardOffer(GetStandardOfferRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getStandardOffer(StandardOfferName name) + *

  • getStandardOffer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getStandardOfferCallable() + *

+ *

GetSku

Gets details of a single Sku.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getSku(GetSkuRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getSku(SkuName name) + *

  • getSku(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getSkuCallable() + *

+ *

ListSkus

Lists Skus for the given parent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listSkus(ListSkusRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listSkus(ServiceName parent) + *

  • listSkus(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listSkusPagedCallable() + *

  • listSkusCallable() + *

+ *

GetSkuGroup

Gets details of a single SkuGroup.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getSkuGroup(GetSkuGroupRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getSkuGroup(SkuGroupName name) + *

  • getSkuGroup(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getSkuGroupCallable() + *

+ *

ListSkuGroups

Lists SkuGroups for the given parent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listSkuGroups(ListSkuGroupsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listSkuGroups(LocationName parent) + *

  • listSkuGroups(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listSkuGroupsPagedCallable() + *

  • listSkuGroupsCallable() + *

+ *

ListLocations

Lists information about the supported locations for this service. + *

This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: ***Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listLocations(ListLocationsRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listLocationsPagedCallable() + *

  • listLocationsCallable() + *

+ *

GetLocation

Gets information about a location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getLocation(GetLocationRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getLocationCallable() + *

+ *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of CommerceTransactionSettings to + * create(). For example: + * + *

To customize credentials: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * CommerceTransactionSettings commerceTransactionSettings =
+ *     CommerceTransactionSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * CommerceTransactionClient commerceTransactionClient =
+ *     CommerceTransactionClient.create(commerceTransactionSettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * CommerceTransactionSettings commerceTransactionSettings =
+ *     CommerceTransactionSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * CommerceTransactionClient commerceTransactionClient =
+ *     CommerceTransactionClient.create(commerceTransactionSettings);
+ * }
+ * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * CommerceTransactionSettings commerceTransactionSettings =
+ *     CommerceTransactionSettings.newHttpJsonBuilder().build();
+ * CommerceTransactionClient commerceTransactionClient =
+ *     CommerceTransactionClient.create(commerceTransactionSettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class CommerceTransactionClient implements BackgroundResource { + private final @Nullable CommerceTransactionSettings settings; + private final CommerceTransactionStub stub; + + /** Constructs an instance of CommerceTransactionClient with default settings. */ + public static final CommerceTransactionClient create() throws IOException { + return create(CommerceTransactionSettings.newBuilder().build()); + } + + /** + * Constructs an instance of CommerceTransactionClient, using the given settings. The channels are + * created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final CommerceTransactionClient create(CommerceTransactionSettings settings) + throws IOException { + return new CommerceTransactionClient(settings); + } + + /** + * Constructs an instance of CommerceTransactionClient, using the given stub for making calls. + * This is for advanced usage - prefer using create(CommerceTransactionSettings). + */ + public static final CommerceTransactionClient create(CommerceTransactionStub stub) { + return new CommerceTransactionClient(stub); + } + + /** + * Constructs an instance of CommerceTransactionClient, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected CommerceTransactionClient(CommerceTransactionSettings settings) throws IOException { + this.settings = settings; + this.stub = ((CommerceTransactionStubSettings) settings.getStubSettings()).createStub(); + } + + protected CommerceTransactionClient(CommerceTransactionStub stub) { + this.settings = null; + this.stub = stub; + } + + public final @Nullable CommerceTransactionSettings getSettings() { + return settings; + } + + public CommerceTransactionStub getStub() { + return stub; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Service element : commerceTransactionClient.listServices(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListServicesRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(@Nullable LocationName parent) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listServices(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Service element : commerceTransactionClient.listServices(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListServicesRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(String parent) { + ListServicesRequest request = ListServicesRequest.newBuilder().setParent(parent).build(); + return listServices(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Service element : commerceTransactionClient.listServices(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(ListServicesRequest request) { + return listServicesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listServicesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Service element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listServicesPagedCallable() { + return stub.listServicesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListServicesResponse response =
+   *         commerceTransactionClient.listServicesCallable().call(request);
+   *     for (Service element : response.getServicesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listServicesCallable() { + return stub.listServicesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+   *   Service response = commerceTransactionClient.getService(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(@Nullable ServiceName name) { + GetServiceRequest request = + GetServiceRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getService(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
+   *   Service response = commerceTransactionClient.getService(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(String name) { + GetServiceRequest request = GetServiceRequest.newBuilder().setName(name).build(); + return getService(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetServiceRequest request =
+   *       GetServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setView(ServiceView.forNumber(0))
+   *           .build();
+   *   Service response = commerceTransactionClient.getService(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(GetServiceRequest request) { + return getServiceCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetServiceRequest request =
+   *       GetServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setView(ServiceView.forNumber(0))
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getServiceCallable().futureCall(request);
+   *   // Do something.
+   *   Service response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getServiceCallable() { + return stub.getServiceCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (PrivateOffer element :
+   *       commerceTransactionClient.listPrivateOffers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListPrivateOffersRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOffersPagedResponse listPrivateOffers(@Nullable LocationName parent) { + ListPrivateOffersRequest request = + ListPrivateOffersRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listPrivateOffers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (PrivateOffer element :
+   *       commerceTransactionClient.listPrivateOffers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListPrivateOffersRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOffersPagedResponse listPrivateOffers(String parent) { + ListPrivateOffersRequest request = + ListPrivateOffersRequest.newBuilder().setParent(parent).build(); + return listPrivateOffers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOffersRequest request =
+   *       ListPrivateOffersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (PrivateOffer element :
+   *       commerceTransactionClient.listPrivateOffers(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOffersPagedResponse listPrivateOffers(ListPrivateOffersRequest request) { + return listPrivateOffersPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOffersRequest request =
+   *       ListPrivateOffersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listPrivateOffersPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (PrivateOffer element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listPrivateOffersPagedCallable() { + return stub.listPrivateOffersPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOffersRequest request =
+   *       ListPrivateOffersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListPrivateOffersResponse response =
+   *         commerceTransactionClient.listPrivateOffersCallable().call(request);
+   *     for (PrivateOffer element : response.getPrivateOffersList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listPrivateOffersCallable() { + return stub.listPrivateOffersCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]");
+   *   PrivateOffer response = commerceTransactionClient.getPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer getPrivateOffer(@Nullable PrivateOfferName name) { + GetPrivateOfferRequest request = + GetPrivateOfferRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString();
+   *   PrivateOffer response = commerceTransactionClient.getPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer getPrivateOffer(String name) { + GetPrivateOfferRequest request = GetPrivateOfferRequest.newBuilder().setName(name).build(); + return getPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetPrivateOfferRequest request =
+   *       GetPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setView(PrivateOfferView.forNumber(0))
+   *           .build();
+   *   PrivateOffer response = commerceTransactionClient.getPrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer getPrivateOffer(GetPrivateOfferRequest request) { + return getPrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetPrivateOfferRequest request =
+   *       GetPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setView(PrivateOfferView.forNumber(0))
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getPrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getPrivateOfferCallable() { + return stub.getPrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new PrivateOffer in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CreatePrivateOfferRequest request =
+   *       CreatePrivateOfferRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPrivateOffer(PrivateOffer.newBuilder().build())
+   *           .build();
+   *   PrivateOffer response = commerceTransactionClient.createPrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer createPrivateOffer(CreatePrivateOfferRequest request) { + return createPrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new PrivateOffer in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CreatePrivateOfferRequest request =
+   *       CreatePrivateOfferRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPrivateOffer(PrivateOffer.newBuilder().build())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.createPrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable createPrivateOfferCallable() { + return stub.createPrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOffer privateOffer = PrivateOffer.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   PrivateOffer response =
+   *       commerceTransactionClient.updatePrivateOffer(privateOffer, updateMask);
+   * }
+   * }
+ * + * @param privateOffer Required. The resource being updated + * @param updateMask Optional. The list of fields to update. The fields specified in the + * update_mask are relative to the resource, not the full request. A field will be overwritten + * if it is in the mask. The special value "*" means full replacement. If unspecified, all + * fields present in the request will be overwritten. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer updatePrivateOffer(PrivateOffer privateOffer, FieldMask updateMask) { + UpdatePrivateOfferRequest request = + UpdatePrivateOfferRequest.newBuilder() + .setPrivateOffer(privateOffer) + .setUpdateMask(updateMask) + .build(); + return updatePrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   UpdatePrivateOfferRequest request =
+   *       UpdatePrivateOfferRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setPrivateOffer(PrivateOffer.newBuilder().build())
+   *           .build();
+   *   PrivateOffer response = commerceTransactionClient.updatePrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer updatePrivateOffer(UpdatePrivateOfferRequest request) { + return updatePrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   UpdatePrivateOfferRequest request =
+   *       UpdatePrivateOfferRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setPrivateOffer(PrivateOffer.newBuilder().build())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.updatePrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updatePrivateOfferCallable() { + return stub.updatePrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Publishes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]");
+   *   PrivateOffer response = commerceTransactionClient.publishPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer publishPrivateOffer(@Nullable PrivateOfferName name) { + PublishPrivateOfferRequest request = + PublishPrivateOfferRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + return publishPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Publishes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString();
+   *   PrivateOffer response = commerceTransactionClient.publishPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer publishPrivateOffer(String name) { + PublishPrivateOfferRequest request = + PublishPrivateOfferRequest.newBuilder().setName(name).build(); + return publishPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Publishes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PublishPrivateOfferRequest request =
+   *       PublishPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   PrivateOffer response = commerceTransactionClient.publishPrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer publishPrivateOffer(PublishPrivateOfferRequest request) { + return publishPrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Publishes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PublishPrivateOfferRequest request =
+   *       PublishPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setValidateOnly(true)
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.publishPrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + publishPrivateOfferCallable() { + return stub.publishPrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Cancels the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]");
+   *   PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer cancelPrivateOffer(@Nullable PrivateOfferName name) { + CancelPrivateOfferRequest request = + CancelPrivateOfferRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + return cancelPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Cancels the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString();
+   *   PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer cancelPrivateOffer(String name) { + CancelPrivateOfferRequest request = + CancelPrivateOfferRequest.newBuilder().setName(name).build(); + return cancelPrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Cancels the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CancelPrivateOfferRequest request =
+   *       CancelPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setCancellationNote("cancellationNote806581141")
+   *           .build();
+   *   PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOffer cancelPrivateOffer(CancelPrivateOfferRequest request) { + return cancelPrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Cancels the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CancelPrivateOfferRequest request =
+   *       CancelPrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setCancellationNote("cancellationNote806581141")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.cancelPrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable cancelPrivateOfferCallable() { + return stub.cancelPrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]");
+   *   commerceTransactionClient.deletePrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOffer(@Nullable PrivateOfferName name) { + DeletePrivateOfferRequest request = + DeletePrivateOfferRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + deletePrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString();
+   *   commerceTransactionClient.deletePrivateOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOffer(String name) { + DeletePrivateOfferRequest request = + DeletePrivateOfferRequest.newBuilder().setName(name).build(); + deletePrivateOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   DeletePrivateOfferRequest request =
+   *       DeletePrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setForce(true)
+   *           .build();
+   *   commerceTransactionClient.deletePrivateOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOffer(DeletePrivateOfferRequest request) { + deletePrivateOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   DeletePrivateOfferRequest request =
+   *       DeletePrivateOfferRequest.newBuilder()
+   *           .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setForce(true)
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.deletePrivateOfferCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deletePrivateOfferCallable() { + return stub.deletePrivateOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOfferDocuments for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]");
+   *   for (PrivateOfferDocument element :
+   *       commerceTransactionClient.listPrivateOfferDocuments(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListPrivateOfferDocumentsRequest. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOfferDocumentsPagedResponse listPrivateOfferDocuments( + @Nullable PrivateOfferName parent) { + ListPrivateOfferDocumentsRequest request = + ListPrivateOfferDocumentsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listPrivateOfferDocuments(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOfferDocuments for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString();
+   *   for (PrivateOfferDocument element :
+   *       commerceTransactionClient.listPrivateOfferDocuments(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListPrivateOfferDocumentsRequest. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOfferDocumentsPagedResponse listPrivateOfferDocuments(String parent) { + ListPrivateOfferDocumentsRequest request = + ListPrivateOfferDocumentsRequest.newBuilder().setParent(parent).build(); + return listPrivateOfferDocuments(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOfferDocuments for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOfferDocumentsRequest request =
+   *       ListPrivateOfferDocumentsRequest.newBuilder()
+   *           .setParent(
+   *               PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (PrivateOfferDocument element :
+   *       commerceTransactionClient.listPrivateOfferDocuments(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListPrivateOfferDocumentsPagedResponse listPrivateOfferDocuments( + ListPrivateOfferDocumentsRequest request) { + return listPrivateOfferDocumentsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOfferDocuments for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOfferDocumentsRequest request =
+   *       ListPrivateOfferDocumentsRequest.newBuilder()
+   *           .setParent(
+   *               PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listPrivateOfferDocumentsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (PrivateOfferDocument element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsPagedCallable() { + return stub.listPrivateOfferDocumentsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists PrivateOfferDocuments for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListPrivateOfferDocumentsRequest request =
+   *       ListPrivateOfferDocumentsRequest.newBuilder()
+   *           .setParent(
+   *               PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListPrivateOfferDocumentsResponse response =
+   *         commerceTransactionClient.listPrivateOfferDocumentsCallable().call(request);
+   *     for (PrivateOfferDocument element : response.getPrivateOfferDocumentsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listPrivateOfferDocumentsCallable() { + return stub.listPrivateOfferDocumentsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferDocumentName name =
+   *       PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]");
+   *   PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument getPrivateOfferDocument( + @Nullable PrivateOfferDocumentName name) { + GetPrivateOfferDocumentRequest request = + GetPrivateOfferDocumentRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + return getPrivateOfferDocument(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name =
+   *       PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *           .toString();
+   *   PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument getPrivateOfferDocument(String name) { + GetPrivateOfferDocumentRequest request = + GetPrivateOfferDocumentRequest.newBuilder().setName(name).build(); + return getPrivateOfferDocument(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetPrivateOfferDocumentRequest request =
+   *       GetPrivateOfferDocumentRequest.newBuilder()
+   *           .setName(
+   *               PrivateOfferDocumentName.of(
+   *                       "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *                   .toString())
+   *           .build();
+   *   PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument getPrivateOfferDocument( + GetPrivateOfferDocumentRequest request) { + return getPrivateOfferDocumentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetPrivateOfferDocumentRequest request =
+   *       GetPrivateOfferDocumentRequest.newBuilder()
+   *           .setName(
+   *               PrivateOfferDocumentName.of(
+   *                       "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *                   .toString())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getPrivateOfferDocumentCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOfferDocument response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + getPrivateOfferDocumentCallable() { + return stub.getPrivateOfferDocumentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new PrivateOfferDocument in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CreatePrivateOfferDocumentRequest request =
+   *       CreatePrivateOfferDocumentRequest.newBuilder()
+   *           .setParent(
+   *               PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build())
+   *           .build();
+   *   PrivateOfferDocument response = commerceTransactionClient.createPrivateOfferDocument(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument createPrivateOfferDocument( + CreatePrivateOfferDocumentRequest request) { + return createPrivateOfferDocumentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new PrivateOfferDocument in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   CreatePrivateOfferDocumentRequest request =
+   *       CreatePrivateOfferDocumentRequest.newBuilder()
+   *           .setParent(
+   *               PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString())
+   *           .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.createPrivateOfferDocumentCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOfferDocument response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + createPrivateOfferDocumentCallable() { + return stub.createPrivateOfferDocumentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferDocument privateOfferDocument = PrivateOfferDocument.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   PrivateOfferDocument response =
+   *       commerceTransactionClient.updatePrivateOfferDocument(privateOfferDocument, updateMask);
+   * }
+   * }
+ * + * @param privateOfferDocument Required. The resource being updated. + * @param updateMask Optional. The list of fields to update. The fields specified in the + * update_mask are relative to the resource, not the full request. A field will be overwritten + * if it is in the mask. The special value "*" means full replacement. If unspecified, all + * fields present in the request will be overwritten. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument updatePrivateOfferDocument( + PrivateOfferDocument privateOfferDocument, FieldMask updateMask) { + UpdatePrivateOfferDocumentRequest request = + UpdatePrivateOfferDocumentRequest.newBuilder() + .setPrivateOfferDocument(privateOfferDocument) + .setUpdateMask(updateMask) + .build(); + return updatePrivateOfferDocument(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   UpdatePrivateOfferDocumentRequest request =
+   *       UpdatePrivateOfferDocumentRequest.newBuilder()
+   *           .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .build();
+   *   PrivateOfferDocument response = commerceTransactionClient.updatePrivateOfferDocument(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final PrivateOfferDocument updatePrivateOfferDocument( + UpdatePrivateOfferDocumentRequest request) { + return updatePrivateOfferDocumentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   UpdatePrivateOfferDocumentRequest request =
+   *       UpdatePrivateOfferDocumentRequest.newBuilder()
+   *           .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.updatePrivateOfferDocumentCallable().futureCall(request);
+   *   // Do something.
+   *   PrivateOfferDocument response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + updatePrivateOfferDocumentCallable() { + return stub.updatePrivateOfferDocumentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   PrivateOfferDocumentName name =
+   *       PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]");
+   *   commerceTransactionClient.deletePrivateOfferDocument(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOfferDocument(@Nullable PrivateOfferDocumentName name) { + DeletePrivateOfferDocumentRequest request = + DeletePrivateOfferDocumentRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .build(); + deletePrivateOfferDocument(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name =
+   *       PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *           .toString();
+   *   commerceTransactionClient.deletePrivateOfferDocument(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOfferDocument(String name) { + DeletePrivateOfferDocumentRequest request = + DeletePrivateOfferDocumentRequest.newBuilder().setName(name).build(); + deletePrivateOfferDocument(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   DeletePrivateOfferDocumentRequest request =
+   *       DeletePrivateOfferDocumentRequest.newBuilder()
+   *           .setName(
+   *               PrivateOfferDocumentName.of(
+   *                       "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *                   .toString())
+   *           .build();
+   *   commerceTransactionClient.deletePrivateOfferDocument(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deletePrivateOfferDocument(DeletePrivateOfferDocumentRequest request) { + deletePrivateOfferDocumentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes the target PrivateOfferDocument. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   DeletePrivateOfferDocumentRequest request =
+   *       DeletePrivateOfferDocumentRequest.newBuilder()
+   *           .setName(
+   *               PrivateOfferDocumentName.of(
+   *                       "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]")
+   *                   .toString())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.deletePrivateOfferDocumentCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + deletePrivateOfferDocumentCallable() { + return stub.deletePrivateOfferDocumentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists StandardOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+   *   for (StandardOffer element :
+   *       commerceTransactionClient.listStandardOffers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListStandardOffersRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListStandardOffersPagedResponse listStandardOffers(@Nullable ServiceName parent) { + ListStandardOffersRequest request = + ListStandardOffersRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listStandardOffers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists StandardOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
+   *   for (StandardOffer element :
+   *       commerceTransactionClient.listStandardOffers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListStandardOffersRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListStandardOffersPagedResponse listStandardOffers(String parent) { + ListStandardOffersRequest request = + ListStandardOffersRequest.newBuilder().setParent(parent).build(); + return listStandardOffers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists StandardOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListStandardOffersRequest request =
+   *       ListStandardOffersRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (StandardOffer element :
+   *       commerceTransactionClient.listStandardOffers(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListStandardOffersPagedResponse listStandardOffers( + ListStandardOffersRequest request) { + return listStandardOffersPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists StandardOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListStandardOffersRequest request =
+   *       ListStandardOffersRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listStandardOffersPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (StandardOffer element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listStandardOffersPagedCallable() { + return stub.listStandardOffersPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists StandardOffers for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListStandardOffersRequest request =
+   *       ListStandardOffersRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListStandardOffersResponse response =
+   *         commerceTransactionClient.listStandardOffersCallable().call(request);
+   *     for (StandardOffer element : response.getStandardOffersList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listStandardOffersCallable() { + return stub.listStandardOffersCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single StandardOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   StandardOfferName name =
+   *       StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]");
+   *   StandardOffer response = commerceTransactionClient.getStandardOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final StandardOffer getStandardOffer(@Nullable StandardOfferName name) { + GetStandardOfferRequest request = + GetStandardOfferRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getStandardOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single StandardOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name =
+   *       StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]")
+   *           .toString();
+   *   StandardOffer response = commerceTransactionClient.getStandardOffer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final StandardOffer getStandardOffer(String name) { + GetStandardOfferRequest request = GetStandardOfferRequest.newBuilder().setName(name).build(); + return getStandardOffer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single StandardOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetStandardOfferRequest request =
+   *       GetStandardOfferRequest.newBuilder()
+   *           .setName(
+   *               StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]")
+   *                   .toString())
+   *           .setView(StandardOfferView.forNumber(0))
+   *           .build();
+   *   StandardOffer response = commerceTransactionClient.getStandardOffer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final StandardOffer getStandardOffer(GetStandardOfferRequest request) { + return getStandardOfferCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single StandardOffer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetStandardOfferRequest request =
+   *       GetStandardOfferRequest.newBuilder()
+   *           .setName(
+   *               StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]")
+   *                   .toString())
+   *           .setView(StandardOfferView.forNumber(0))
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getStandardOfferCallable().futureCall(request);
+   *   // Do something.
+   *   StandardOffer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getStandardOfferCallable() { + return stub.getStandardOfferCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Sku. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]");
+   *   Sku response = commerceTransactionClient.getSku(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Sku getSku(@Nullable SkuName name) { + GetSkuRequest request = + GetSkuRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getSku(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Sku. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString();
+   *   Sku response = commerceTransactionClient.getSku(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Sku getSku(String name) { + GetSkuRequest request = GetSkuRequest.newBuilder().setName(name).build(); + return getSku(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Sku. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetSkuRequest request =
+   *       GetSkuRequest.newBuilder()
+   *           .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString())
+   *           .build();
+   *   Sku response = commerceTransactionClient.getSku(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Sku getSku(GetSkuRequest request) { + return getSkuCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Sku. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetSkuRequest request =
+   *       GetSkuRequest.newBuilder()
+   *           .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString())
+   *           .build();
+   *   ApiFuture future = commerceTransactionClient.getSkuCallable().futureCall(request);
+   *   // Do something.
+   *   Sku response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getSkuCallable() { + return stub.getSkuCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Skus for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+   *   for (Sku element : commerceTransactionClient.listSkus(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListSkusRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkusPagedResponse listSkus(@Nullable ServiceName parent) { + ListSkusRequest request = + ListSkusRequest.newBuilder().setParent(parent == null ? null : parent.toString()).build(); + return listSkus(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Skus for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
+   *   for (Sku element : commerceTransactionClient.listSkus(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListSkusRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkusPagedResponse listSkus(String parent) { + ListSkusRequest request = ListSkusRequest.newBuilder().setParent(parent).build(); + return listSkus(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Skus for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkusRequest request =
+   *       ListSkusRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Sku element : commerceTransactionClient.listSkus(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkusPagedResponse listSkus(ListSkusRequest request) { + return listSkusPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Skus for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkusRequest request =
+   *       ListSkusRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = commerceTransactionClient.listSkusPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Sku element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listSkusPagedCallable() { + return stub.listSkusPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Skus for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkusRequest request =
+   *       ListSkusRequest.newBuilder()
+   *           .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListSkusResponse response = commerceTransactionClient.listSkusCallable().call(request);
+   *     for (Sku element : response.getSkusList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listSkusCallable() { + return stub.listSkusCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single SkuGroup. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]");
+   *   SkuGroup response = commerceTransactionClient.getSkuGroup(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SkuGroup getSkuGroup(@Nullable SkuGroupName name) { + GetSkuGroupRequest request = + GetSkuGroupRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getSkuGroup(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single SkuGroup. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString();
+   *   SkuGroup response = commerceTransactionClient.getSkuGroup(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SkuGroup getSkuGroup(String name) { + GetSkuGroupRequest request = GetSkuGroupRequest.newBuilder().setName(name).build(); + return getSkuGroup(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single SkuGroup. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetSkuGroupRequest request =
+   *       GetSkuGroupRequest.newBuilder()
+   *           .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString())
+   *           .build();
+   *   SkuGroup response = commerceTransactionClient.getSkuGroup(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SkuGroup getSkuGroup(GetSkuGroupRequest request) { + return getSkuGroupCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single SkuGroup. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetSkuGroupRequest request =
+   *       GetSkuGroupRequest.newBuilder()
+   *           .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString())
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getSkuGroupCallable().futureCall(request);
+   *   // Do something.
+   *   SkuGroup response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getSkuGroupCallable() { + return stub.getSkuGroupCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists SkuGroups for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (SkuGroup element : commerceTransactionClient.listSkuGroups(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListSkuGroupsRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkuGroupsPagedResponse listSkuGroups(@Nullable LocationName parent) { + ListSkuGroupsRequest request = + ListSkuGroupsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listSkuGroups(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists SkuGroups for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (SkuGroup element : commerceTransactionClient.listSkuGroups(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListSkuGroupsRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkuGroupsPagedResponse listSkuGroups(String parent) { + ListSkuGroupsRequest request = ListSkuGroupsRequest.newBuilder().setParent(parent).build(); + return listSkuGroups(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists SkuGroups for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkuGroupsRequest request =
+   *       ListSkuGroupsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (SkuGroup element : commerceTransactionClient.listSkuGroups(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSkuGroupsPagedResponse listSkuGroups(ListSkuGroupsRequest request) { + return listSkuGroupsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists SkuGroups for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkuGroupsRequest request =
+   *       ListSkuGroupsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listSkuGroupsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (SkuGroup element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listSkuGroupsPagedCallable() { + return stub.listSkuGroupsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists SkuGroups for the given parent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListSkuGroupsRequest request =
+   *       ListSkuGroupsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListSkuGroupsResponse response =
+   *         commerceTransactionClient.listSkuGroupsCallable().call(request);
+   *     for (SkuGroup element : response.getSkuGroupsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listSkuGroupsCallable() { + return stub.listSkuGroupsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Location element : commerceTransactionClient.listLocations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) { + return listLocationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.listLocationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Location element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listLocationsPagedCallable() { + return stub.listLocationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListLocationsResponse response =
+   *         commerceTransactionClient.listLocationsCallable().call(request);
+   *     for (Location element : response.getLocationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listLocationsCallable() { + return stub.listLocationsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   Location response = commerceTransactionClient.getLocation(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Location getLocation(GetLocationRequest request) { + return getLocationCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   ApiFuture future =
+   *       commerceTransactionClient.getLocationCallable().futureCall(request);
+   *   // Do something.
+   *   Location response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getLocationCallable() { + return stub.getLocationCallable(); + } + + @Override + public final void close() { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListServicesPagedResponse + extends AbstractPagedListResponse< + ListServicesRequest, + ListServicesResponse, + Service, + ListServicesPage, + ListServicesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListServicesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListServicesPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListServicesPagedResponse(ListServicesPage page) { + super(page, ListServicesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListServicesPage + extends AbstractPage { + + private ListServicesPage( + @Nullable PageContext context, + @Nullable ListServicesResponse response) { + super(context, response); + } + + private static ListServicesPage createEmptyPage() { + return new ListServicesPage(null, null); + } + + @Override + protected ListServicesPage createPage( + @Nullable PageContext context, + @Nullable ListServicesResponse response) { + return new ListServicesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListServicesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListServicesRequest, + ListServicesResponse, + Service, + ListServicesPage, + ListServicesFixedSizeCollection> { + + private ListServicesFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListServicesFixedSizeCollection createEmptyCollection() { + return new ListServicesFixedSizeCollection(null, 0); + } + + @Override + protected ListServicesFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListServicesFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListPrivateOffersPagedResponse + extends AbstractPagedListResponse< + ListPrivateOffersRequest, + ListPrivateOffersResponse, + PrivateOffer, + ListPrivateOffersPage, + ListPrivateOffersFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListPrivateOffersPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListPrivateOffersPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListPrivateOffersPagedResponse(ListPrivateOffersPage page) { + super(page, ListPrivateOffersFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListPrivateOffersPage + extends AbstractPage< + ListPrivateOffersRequest, + ListPrivateOffersResponse, + PrivateOffer, + ListPrivateOffersPage> { + + private ListPrivateOffersPage( + @Nullable PageContext + context, + @Nullable ListPrivateOffersResponse response) { + super(context, response); + } + + private static ListPrivateOffersPage createEmptyPage() { + return new ListPrivateOffersPage(null, null); + } + + @Override + protected ListPrivateOffersPage createPage( + @Nullable PageContext + context, + @Nullable ListPrivateOffersResponse response) { + return new ListPrivateOffersPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListPrivateOffersFixedSizeCollection + extends AbstractFixedSizeCollection< + ListPrivateOffersRequest, + ListPrivateOffersResponse, + PrivateOffer, + ListPrivateOffersPage, + ListPrivateOffersFixedSizeCollection> { + + private ListPrivateOffersFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListPrivateOffersFixedSizeCollection createEmptyCollection() { + return new ListPrivateOffersFixedSizeCollection(null, 0); + } + + @Override + protected ListPrivateOffersFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListPrivateOffersFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListPrivateOfferDocumentsPagedResponse + extends AbstractPagedListResponse< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument, + ListPrivateOfferDocumentsPage, + ListPrivateOfferDocumentsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument> + context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListPrivateOfferDocumentsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListPrivateOfferDocumentsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListPrivateOfferDocumentsPagedResponse(ListPrivateOfferDocumentsPage page) { + super(page, ListPrivateOfferDocumentsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListPrivateOfferDocumentsPage + extends AbstractPage< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument, + ListPrivateOfferDocumentsPage> { + + private ListPrivateOfferDocumentsPage( + @Nullable + PageContext< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument> + context, + @Nullable ListPrivateOfferDocumentsResponse response) { + super(context, response); + } + + private static ListPrivateOfferDocumentsPage createEmptyPage() { + return new ListPrivateOfferDocumentsPage(null, null); + } + + @Override + protected ListPrivateOfferDocumentsPage createPage( + @Nullable + PageContext< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument> + context, + @Nullable ListPrivateOfferDocumentsResponse response) { + return new ListPrivateOfferDocumentsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable + PageContext< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument> + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListPrivateOfferDocumentsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument, + ListPrivateOfferDocumentsPage, + ListPrivateOfferDocumentsFixedSizeCollection> { + + private ListPrivateOfferDocumentsFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListPrivateOfferDocumentsFixedSizeCollection createEmptyCollection() { + return new ListPrivateOfferDocumentsFixedSizeCollection(null, 0); + } + + @Override + protected ListPrivateOfferDocumentsFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListPrivateOfferDocumentsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListStandardOffersPagedResponse + extends AbstractPagedListResponse< + ListStandardOffersRequest, + ListStandardOffersResponse, + StandardOffer, + ListStandardOffersPage, + ListStandardOffersFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListStandardOffersPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListStandardOffersPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListStandardOffersPagedResponse(ListStandardOffersPage page) { + super(page, ListStandardOffersFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListStandardOffersPage + extends AbstractPage< + ListStandardOffersRequest, + ListStandardOffersResponse, + StandardOffer, + ListStandardOffersPage> { + + private ListStandardOffersPage( + @Nullable PageContext + context, + @Nullable ListStandardOffersResponse response) { + super(context, response); + } + + private static ListStandardOffersPage createEmptyPage() { + return new ListStandardOffersPage(null, null); + } + + @Override + protected ListStandardOffersPage createPage( + @Nullable PageContext + context, + @Nullable ListStandardOffersResponse response) { + return new ListStandardOffersPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListStandardOffersFixedSizeCollection + extends AbstractFixedSizeCollection< + ListStandardOffersRequest, + ListStandardOffersResponse, + StandardOffer, + ListStandardOffersPage, + ListStandardOffersFixedSizeCollection> { + + private ListStandardOffersFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListStandardOffersFixedSizeCollection createEmptyCollection() { + return new ListStandardOffersFixedSizeCollection(null, 0); + } + + @Override + protected ListStandardOffersFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListStandardOffersFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListSkusPagedResponse + extends AbstractPagedListResponse< + ListSkusRequest, ListSkusResponse, Sku, ListSkusPage, ListSkusFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListSkusPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, input -> new ListSkusPagedResponse(input), MoreExecutors.directExecutor()); + } + + private ListSkusPagedResponse(ListSkusPage page) { + super(page, ListSkusFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListSkusPage + extends AbstractPage { + + private ListSkusPage( + @Nullable PageContext context, + @Nullable ListSkusResponse response) { + super(context, response); + } + + private static ListSkusPage createEmptyPage() { + return new ListSkusPage(null, null); + } + + @Override + protected ListSkusPage createPage( + @Nullable PageContext context, + @Nullable ListSkusResponse response) { + return new ListSkusPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListSkusFixedSizeCollection + extends AbstractFixedSizeCollection< + ListSkusRequest, ListSkusResponse, Sku, ListSkusPage, ListSkusFixedSizeCollection> { + + private ListSkusFixedSizeCollection(@Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListSkusFixedSizeCollection createEmptyCollection() { + return new ListSkusFixedSizeCollection(null, 0); + } + + @Override + protected ListSkusFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListSkusFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListSkuGroupsPagedResponse + extends AbstractPagedListResponse< + ListSkuGroupsRequest, + ListSkuGroupsResponse, + SkuGroup, + ListSkuGroupsPage, + ListSkuGroupsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListSkuGroupsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListSkuGroupsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListSkuGroupsPagedResponse(ListSkuGroupsPage page) { + super(page, ListSkuGroupsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListSkuGroupsPage + extends AbstractPage< + ListSkuGroupsRequest, ListSkuGroupsResponse, SkuGroup, ListSkuGroupsPage> { + + private ListSkuGroupsPage( + @Nullable PageContext context, + @Nullable ListSkuGroupsResponse response) { + super(context, response); + } + + private static ListSkuGroupsPage createEmptyPage() { + return new ListSkuGroupsPage(null, null); + } + + @Override + protected ListSkuGroupsPage createPage( + @Nullable PageContext context, + @Nullable ListSkuGroupsResponse response) { + return new ListSkuGroupsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListSkuGroupsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListSkuGroupsRequest, + ListSkuGroupsResponse, + SkuGroup, + ListSkuGroupsPage, + ListSkuGroupsFixedSizeCollection> { + + private ListSkuGroupsFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListSkuGroupsFixedSizeCollection createEmptyCollection() { + return new ListSkuGroupsFixedSizeCollection(null, 0); + } + + @Override + protected ListSkuGroupsFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListSkuGroupsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListLocationsPagedResponse + extends AbstractPagedListResponse< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListLocationsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListLocationsPagedResponse(ListLocationsPage page) { + super(page, ListLocationsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListLocationsPage + extends AbstractPage< + ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> { + + private ListLocationsPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + super(context, response); + } + + private static ListLocationsPage createEmptyPage() { + return new ListLocationsPage(null, null); + } + + @Override + protected ListLocationsPage createPage( + @Nullable PageContext context, + @Nullable ListLocationsResponse response) { + return new ListLocationsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + @Nullable PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListLocationsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + private ListLocationsFixedSizeCollection( + @Nullable List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListLocationsFixedSizeCollection createEmptyCollection() { + return new ListLocationsFixedSizeCollection(null, 0); + } + + @Override + protected ListLocationsFixedSizeCollection createCollection( + @Nullable List pages, int collectionSize) { + return new ListLocationsFixedSizeCollection(pages, collectionSize); + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionSettings.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionSettings.java new file mode 100644 index 000000000000..315f0633a501 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionSettings.java @@ -0,0 +1,491 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.commerceproducer.v1beta.stub.CommerceTransactionStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link CommerceTransactionClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (commerceproducer.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getService: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * CommerceTransactionSettings.Builder commerceTransactionSettingsBuilder =
+ *     CommerceTransactionSettings.newBuilder();
+ * commerceTransactionSettingsBuilder
+ *     .getServiceSettings()
+ *     .setRetrySettings(
+ *         commerceTransactionSettingsBuilder
+ *             .getServiceSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * CommerceTransactionSettings commerceTransactionSettings =
+ *     commerceTransactionSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class CommerceTransactionSettings extends ClientSettings { + + /** Returns the object with the settings used for calls to listServices. */ + public PagedCallSettings + listServicesSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listServicesSettings(); + } + + /** Returns the object with the settings used for calls to getService. */ + public UnaryCallSettings getServiceSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getServiceSettings(); + } + + /** Returns the object with the settings used for calls to listPrivateOffers. */ + public PagedCallSettings< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listPrivateOffersSettings(); + } + + /** Returns the object with the settings used for calls to getPrivateOffer. */ + public UnaryCallSettings getPrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getPrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to createPrivateOffer. */ + public UnaryCallSettings createPrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).createPrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to updatePrivateOffer. */ + public UnaryCallSettings updatePrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).updatePrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to publishPrivateOffer. */ + public UnaryCallSettings publishPrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).publishPrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to cancelPrivateOffer. */ + public UnaryCallSettings cancelPrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).cancelPrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to deletePrivateOffer. */ + public UnaryCallSettings deletePrivateOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).deletePrivateOfferSettings(); + } + + /** Returns the object with the settings used for calls to listPrivateOfferDocuments. */ + public PagedCallSettings< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()) + .listPrivateOfferDocumentsSettings(); + } + + /** Returns the object with the settings used for calls to getPrivateOfferDocument. */ + public UnaryCallSettings + getPrivateOfferDocumentSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getPrivateOfferDocumentSettings(); + } + + /** Returns the object with the settings used for calls to createPrivateOfferDocument. */ + public UnaryCallSettings + createPrivateOfferDocumentSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()) + .createPrivateOfferDocumentSettings(); + } + + /** Returns the object with the settings used for calls to updatePrivateOfferDocument. */ + public UnaryCallSettings + updatePrivateOfferDocumentSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()) + .updatePrivateOfferDocumentSettings(); + } + + /** Returns the object with the settings used for calls to deletePrivateOfferDocument. */ + public UnaryCallSettings + deletePrivateOfferDocumentSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()) + .deletePrivateOfferDocumentSettings(); + } + + /** Returns the object with the settings used for calls to listStandardOffers. */ + public PagedCallSettings< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listStandardOffersSettings(); + } + + /** Returns the object with the settings used for calls to getStandardOffer. */ + public UnaryCallSettings getStandardOfferSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getStandardOfferSettings(); + } + + /** Returns the object with the settings used for calls to getSku. */ + public UnaryCallSettings getSkuSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getSkuSettings(); + } + + /** Returns the object with the settings used for calls to listSkus. */ + public PagedCallSettings + listSkusSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listSkusSettings(); + } + + /** Returns the object with the settings used for calls to getSkuGroup. */ + public UnaryCallSettings getSkuGroupSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getSkuGroupSettings(); + } + + /** Returns the object with the settings used for calls to listSkuGroups. */ + public PagedCallSettings + listSkuGroupsSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listSkuGroupsSettings(); + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).listLocationsSettings(); + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return ((CommerceTransactionStubSettings) getStubSettings()).getLocationSettings(); + } + + public static final CommerceTransactionSettings create(CommerceTransactionStubSettings stub) + throws IOException { + return new CommerceTransactionSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return CommerceTransactionStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return CommerceTransactionStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return CommerceTransactionStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return CommerceTransactionStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return CommerceTransactionStubSettings.defaultGrpcTransportProviderBuilder(); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return CommerceTransactionStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return CommerceTransactionStubSettings.defaultTransportChannelProvider(); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return CommerceTransactionStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected CommerceTransactionSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for CommerceTransactionSettings. */ + public static class Builder extends ClientSettings.Builder { + + protected Builder() throws IOException { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(CommerceTransactionStubSettings.newBuilder(clientContext)); + } + + protected Builder(CommerceTransactionSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(CommerceTransactionStubSettings.Builder stubSettings) { + super(stubSettings); + } + + private static Builder createDefault() { + return new Builder(CommerceTransactionStubSettings.newBuilder()); + } + + private static Builder createHttpJsonDefault() { + return new Builder(CommerceTransactionStubSettings.newHttpJsonBuilder()); + } + + public CommerceTransactionStubSettings.Builder getStubSettingsBuilder() { + return ((CommerceTransactionStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to listServices. */ + public PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings() { + return getStubSettingsBuilder().listServicesSettings(); + } + + /** Returns the builder for the settings used for calls to getService. */ + public UnaryCallSettings.Builder getServiceSettings() { + return getStubSettingsBuilder().getServiceSettings(); + } + + /** Returns the builder for the settings used for calls to listPrivateOffers. */ + public PagedCallSettings.Builder< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings() { + return getStubSettingsBuilder().listPrivateOffersSettings(); + } + + /** Returns the builder for the settings used for calls to getPrivateOffer. */ + public UnaryCallSettings.Builder + getPrivateOfferSettings() { + return getStubSettingsBuilder().getPrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to createPrivateOffer. */ + public UnaryCallSettings.Builder + createPrivateOfferSettings() { + return getStubSettingsBuilder().createPrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to updatePrivateOffer. */ + public UnaryCallSettings.Builder + updatePrivateOfferSettings() { + return getStubSettingsBuilder().updatePrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to publishPrivateOffer. */ + public UnaryCallSettings.Builder + publishPrivateOfferSettings() { + return getStubSettingsBuilder().publishPrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to cancelPrivateOffer. */ + public UnaryCallSettings.Builder + cancelPrivateOfferSettings() { + return getStubSettingsBuilder().cancelPrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to deletePrivateOffer. */ + public UnaryCallSettings.Builder + deletePrivateOfferSettings() { + return getStubSettingsBuilder().deletePrivateOfferSettings(); + } + + /** Returns the builder for the settings used for calls to listPrivateOfferDocuments. */ + public PagedCallSettings.Builder< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings() { + return getStubSettingsBuilder().listPrivateOfferDocumentsSettings(); + } + + /** Returns the builder for the settings used for calls to getPrivateOfferDocument. */ + public UnaryCallSettings.Builder + getPrivateOfferDocumentSettings() { + return getStubSettingsBuilder().getPrivateOfferDocumentSettings(); + } + + /** Returns the builder for the settings used for calls to createPrivateOfferDocument. */ + public UnaryCallSettings.Builder + createPrivateOfferDocumentSettings() { + return getStubSettingsBuilder().createPrivateOfferDocumentSettings(); + } + + /** Returns the builder for the settings used for calls to updatePrivateOfferDocument. */ + public UnaryCallSettings.Builder + updatePrivateOfferDocumentSettings() { + return getStubSettingsBuilder().updatePrivateOfferDocumentSettings(); + } + + /** Returns the builder for the settings used for calls to deletePrivateOfferDocument. */ + public UnaryCallSettings.Builder + deletePrivateOfferDocumentSettings() { + return getStubSettingsBuilder().deletePrivateOfferDocumentSettings(); + } + + /** Returns the builder for the settings used for calls to listStandardOffers. */ + public PagedCallSettings.Builder< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings() { + return getStubSettingsBuilder().listStandardOffersSettings(); + } + + /** Returns the builder for the settings used for calls to getStandardOffer. */ + public UnaryCallSettings.Builder + getStandardOfferSettings() { + return getStubSettingsBuilder().getStandardOfferSettings(); + } + + /** Returns the builder for the settings used for calls to getSku. */ + public UnaryCallSettings.Builder getSkuSettings() { + return getStubSettingsBuilder().getSkuSettings(); + } + + /** Returns the builder for the settings used for calls to listSkus. */ + public PagedCallSettings.Builder + listSkusSettings() { + return getStubSettingsBuilder().listSkusSettings(); + } + + /** Returns the builder for the settings used for calls to getSkuGroup. */ + public UnaryCallSettings.Builder getSkuGroupSettings() { + return getStubSettingsBuilder().getSkuGroupSettings(); + } + + /** Returns the builder for the settings used for calls to listSkuGroups. */ + public PagedCallSettings.Builder< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse> + listSkuGroupsSettings() { + return getStubSettingsBuilder().listSkuGroupsSettings(); + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return getStubSettingsBuilder().listLocationsSettings(); + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getStubSettingsBuilder().getLocationSettings(); + } + + @Override + public CommerceTransactionSettings build() throws IOException { + return new CommerceTransactionSettings(this); + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/gapic_metadata.json b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/gapic_metadata.json new file mode 100644 index 000000000000..9c2cd2d53d60 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/gapic_metadata.json @@ -0,0 +1,84 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.commerceproducer.v1beta", + "libraryPackage": "com.google.cloud.commerceproducer.v1beta", + "services": { + "CommerceTransaction": { + "clients": { + "grpc": { + "libraryClient": "CommerceTransactionClient", + "rpcs": { + "CancelPrivateOffer": { + "methods": ["cancelPrivateOffer", "cancelPrivateOffer", "cancelPrivateOffer", "cancelPrivateOfferCallable"] + }, + "CreatePrivateOffer": { + "methods": ["createPrivateOffer", "createPrivateOfferCallable"] + }, + "CreatePrivateOfferDocument": { + "methods": ["createPrivateOfferDocument", "createPrivateOfferDocumentCallable"] + }, + "DeletePrivateOffer": { + "methods": ["deletePrivateOffer", "deletePrivateOffer", "deletePrivateOffer", "deletePrivateOfferCallable"] + }, + "DeletePrivateOfferDocument": { + "methods": ["deletePrivateOfferDocument", "deletePrivateOfferDocument", "deletePrivateOfferDocument", "deletePrivateOfferDocumentCallable"] + }, + "GetLocation": { + "methods": ["getLocation", "getLocationCallable"] + }, + "GetPrivateOffer": { + "methods": ["getPrivateOffer", "getPrivateOffer", "getPrivateOffer", "getPrivateOfferCallable"] + }, + "GetPrivateOfferDocument": { + "methods": ["getPrivateOfferDocument", "getPrivateOfferDocument", "getPrivateOfferDocument", "getPrivateOfferDocumentCallable"] + }, + "GetService": { + "methods": ["getService", "getService", "getService", "getServiceCallable"] + }, + "GetSku": { + "methods": ["getSku", "getSku", "getSku", "getSkuCallable"] + }, + "GetSkuGroup": { + "methods": ["getSkuGroup", "getSkuGroup", "getSkuGroup", "getSkuGroupCallable"] + }, + "GetStandardOffer": { + "methods": ["getStandardOffer", "getStandardOffer", "getStandardOffer", "getStandardOfferCallable"] + }, + "ListLocations": { + "methods": ["listLocations", "listLocationsPagedCallable", "listLocationsCallable"] + }, + "ListPrivateOfferDocuments": { + "methods": ["listPrivateOfferDocuments", "listPrivateOfferDocuments", "listPrivateOfferDocuments", "listPrivateOfferDocumentsPagedCallable", "listPrivateOfferDocumentsCallable"] + }, + "ListPrivateOffers": { + "methods": ["listPrivateOffers", "listPrivateOffers", "listPrivateOffers", "listPrivateOffersPagedCallable", "listPrivateOffersCallable"] + }, + "ListServices": { + "methods": ["listServices", "listServices", "listServices", "listServicesPagedCallable", "listServicesCallable"] + }, + "ListSkuGroups": { + "methods": ["listSkuGroups", "listSkuGroups", "listSkuGroups", "listSkuGroupsPagedCallable", "listSkuGroupsCallable"] + }, + "ListSkus": { + "methods": ["listSkus", "listSkus", "listSkus", "listSkusPagedCallable", "listSkusCallable"] + }, + "ListStandardOffers": { + "methods": ["listStandardOffers", "listStandardOffers", "listStandardOffers", "listStandardOffersPagedCallable", "listStandardOffersCallable"] + }, + "PublishPrivateOffer": { + "methods": ["publishPrivateOffer", "publishPrivateOffer", "publishPrivateOffer", "publishPrivateOfferCallable"] + }, + "UpdatePrivateOffer": { + "methods": ["updatePrivateOffer", "updatePrivateOffer", "updatePrivateOfferCallable"] + }, + "UpdatePrivateOfferDocument": { + "methods": ["updatePrivateOfferDocument", "updatePrivateOfferDocument", "updatePrivateOfferDocumentCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/package-info.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/package-info.java new file mode 100644 index 000000000000..9be7649da2e1 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/package-info.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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. + */ + +/** + * A client to Cloud Commerce Producer API + * + *

The interfaces provided are listed below, along with usage samples. + * + *

======================= CommerceTransactionClient ======================= + * + *

Service Description: APIs related to managing resources that model commercial transactions. + * + *

Sample for CommerceTransactionClient: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) {
+ *   ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+ *   Service response = commerceTransactionClient.getService(name);
+ * }
+ * }
+ */ +@Generated("by gapic-generator-java") +package com.google.cloud.commerceproducer.v1beta; + +import javax.annotation.Generated; diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStub.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStub.java new file mode 100644 index 000000000000..fb7464b8a9cf --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStub.java @@ -0,0 +1,215 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.ListServicesResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkusResponse; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.protobuf.Empty; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Base stub class for the CommerceTransaction service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public abstract class CommerceTransactionStub implements BackgroundResource { + + public UnaryCallable listServicesPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listServicesPagedCallable()"); + } + + public UnaryCallable listServicesCallable() { + throw new UnsupportedOperationException("Not implemented: listServicesCallable()"); + } + + public UnaryCallable getServiceCallable() { + throw new UnsupportedOperationException("Not implemented: getServiceCallable()"); + } + + public UnaryCallable + listPrivateOffersPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listPrivateOffersPagedCallable()"); + } + + public UnaryCallable + listPrivateOffersCallable() { + throw new UnsupportedOperationException("Not implemented: listPrivateOffersCallable()"); + } + + public UnaryCallable getPrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: getPrivateOfferCallable()"); + } + + public UnaryCallable createPrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: createPrivateOfferCallable()"); + } + + public UnaryCallable updatePrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: updatePrivateOfferCallable()"); + } + + public UnaryCallable publishPrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: publishPrivateOfferCallable()"); + } + + public UnaryCallable cancelPrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: cancelPrivateOfferCallable()"); + } + + public UnaryCallable deletePrivateOfferCallable() { + throw new UnsupportedOperationException("Not implemented: deletePrivateOfferCallable()"); + } + + public UnaryCallable + listPrivateOfferDocumentsPagedCallable() { + throw new UnsupportedOperationException( + "Not implemented: listPrivateOfferDocumentsPagedCallable()"); + } + + public UnaryCallable + listPrivateOfferDocumentsCallable() { + throw new UnsupportedOperationException("Not implemented: listPrivateOfferDocumentsCallable()"); + } + + public UnaryCallable + getPrivateOfferDocumentCallable() { + throw new UnsupportedOperationException("Not implemented: getPrivateOfferDocumentCallable()"); + } + + public UnaryCallable + createPrivateOfferDocumentCallable() { + throw new UnsupportedOperationException( + "Not implemented: createPrivateOfferDocumentCallable()"); + } + + public UnaryCallable + updatePrivateOfferDocumentCallable() { + throw new UnsupportedOperationException( + "Not implemented: updatePrivateOfferDocumentCallable()"); + } + + public UnaryCallable + deletePrivateOfferDocumentCallable() { + throw new UnsupportedOperationException( + "Not implemented: deletePrivateOfferDocumentCallable()"); + } + + public UnaryCallable + listStandardOffersPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listStandardOffersPagedCallable()"); + } + + public UnaryCallable + listStandardOffersCallable() { + throw new UnsupportedOperationException("Not implemented: listStandardOffersCallable()"); + } + + public UnaryCallable getStandardOfferCallable() { + throw new UnsupportedOperationException("Not implemented: getStandardOfferCallable()"); + } + + public UnaryCallable getSkuCallable() { + throw new UnsupportedOperationException("Not implemented: getSkuCallable()"); + } + + public UnaryCallable listSkusPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listSkusPagedCallable()"); + } + + public UnaryCallable listSkusCallable() { + throw new UnsupportedOperationException("Not implemented: listSkusCallable()"); + } + + public UnaryCallable getSkuGroupCallable() { + throw new UnsupportedOperationException("Not implemented: getSkuGroupCallable()"); + } + + public UnaryCallable + listSkuGroupsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listSkuGroupsPagedCallable()"); + } + + public UnaryCallable listSkuGroupsCallable() { + throw new UnsupportedOperationException("Not implemented: listSkuGroupsCallable()"); + } + + public UnaryCallable + listLocationsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()"); + } + + public UnaryCallable listLocationsCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsCallable()"); + } + + public UnaryCallable getLocationCallable() { + throw new UnsupportedOperationException("Not implemented: getLocationCallable()"); + } + + @Override + public abstract void close(); +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStubSettings.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStubSettings.java new file mode 100644 index 000000000000..380177a8a939 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/CommerceTransactionStubSettings.java @@ -0,0 +1,1377 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.BetaApi; +import com.google.api.core.ObsoleteApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.LibraryMetadata; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.ListServicesResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkusResponse; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.time.Duration; +import java.util.List; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link CommerceTransactionStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (commerceproducer.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getService: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * CommerceTransactionStubSettings.Builder commerceTransactionSettingsBuilder =
+ *     CommerceTransactionStubSettings.newBuilder();
+ * commerceTransactionSettingsBuilder
+ *     .getServiceSettings()
+ *     .setRetrySettings(
+ *         commerceTransactionSettingsBuilder
+ *             .getServiceSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * CommerceTransactionStubSettings commerceTransactionSettings =
+ *     commerceTransactionSettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +@SuppressWarnings("CanonicalDuration") +public class CommerceTransactionStubSettings extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final PagedCallSettings< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings; + private final UnaryCallSettings getServiceSettings; + private final PagedCallSettings< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings; + private final UnaryCallSettings getPrivateOfferSettings; + private final UnaryCallSettings + createPrivateOfferSettings; + private final UnaryCallSettings + updatePrivateOfferSettings; + private final UnaryCallSettings + publishPrivateOfferSettings; + private final UnaryCallSettings + cancelPrivateOfferSettings; + private final UnaryCallSettings deletePrivateOfferSettings; + private final PagedCallSettings< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings; + private final UnaryCallSettings + getPrivateOfferDocumentSettings; + private final UnaryCallSettings + createPrivateOfferDocumentSettings; + private final UnaryCallSettings + updatePrivateOfferDocumentSettings; + private final UnaryCallSettings + deletePrivateOfferDocumentSettings; + private final PagedCallSettings< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings; + private final UnaryCallSettings getStandardOfferSettings; + private final UnaryCallSettings getSkuSettings; + private final PagedCallSettings + listSkusSettings; + private final UnaryCallSettings getSkuGroupSettings; + private final PagedCallSettings< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse> + listSkuGroupsSettings; + private final PagedCallSettings< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings getLocationSettings; + + private static final PagedListDescriptor + LIST_SERVICES_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListServicesRequest injectToken(ListServicesRequest payload, String token) { + return ListServicesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListServicesRequest injectPageSize(ListServicesRequest payload, int pageSize) { + return ListServicesRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListServicesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListServicesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListServicesResponse payload) { + return payload.getServicesList(); + } + }; + + private static final PagedListDescriptor< + ListPrivateOffersRequest, ListPrivateOffersResponse, PrivateOffer> + LIST_PRIVATE_OFFERS_PAGE_STR_DESC = + new PagedListDescriptor< + ListPrivateOffersRequest, ListPrivateOffersResponse, PrivateOffer>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListPrivateOffersRequest injectToken( + ListPrivateOffersRequest payload, String token) { + return ListPrivateOffersRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListPrivateOffersRequest injectPageSize( + ListPrivateOffersRequest payload, int pageSize) { + return ListPrivateOffersRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListPrivateOffersRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListPrivateOffersResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListPrivateOffersResponse payload) { + return payload.getPrivateOffersList(); + } + }; + + private static final PagedListDescriptor< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsResponse, PrivateOfferDocument> + LIST_PRIVATE_OFFER_DOCUMENTS_PAGE_STR_DESC = + new PagedListDescriptor< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListPrivateOfferDocumentsRequest injectToken( + ListPrivateOfferDocumentsRequest payload, String token) { + return ListPrivateOfferDocumentsRequest.newBuilder(payload) + .setPageToken(token) + .build(); + } + + @Override + public ListPrivateOfferDocumentsRequest injectPageSize( + ListPrivateOfferDocumentsRequest payload, int pageSize) { + return ListPrivateOfferDocumentsRequest.newBuilder(payload) + .setPageSize(pageSize) + .build(); + } + + @Override + public Integer extractPageSize(ListPrivateOfferDocumentsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListPrivateOfferDocumentsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources( + ListPrivateOfferDocumentsResponse payload) { + return payload.getPrivateOfferDocumentsList(); + } + }; + + private static final PagedListDescriptor< + ListStandardOffersRequest, ListStandardOffersResponse, StandardOffer> + LIST_STANDARD_OFFERS_PAGE_STR_DESC = + new PagedListDescriptor< + ListStandardOffersRequest, ListStandardOffersResponse, StandardOffer>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListStandardOffersRequest injectToken( + ListStandardOffersRequest payload, String token) { + return ListStandardOffersRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListStandardOffersRequest injectPageSize( + ListStandardOffersRequest payload, int pageSize) { + return ListStandardOffersRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListStandardOffersRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListStandardOffersResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListStandardOffersResponse payload) { + return payload.getStandardOffersList(); + } + }; + + private static final PagedListDescriptor + LIST_SKUS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListSkusRequest injectToken(ListSkusRequest payload, String token) { + return ListSkusRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListSkusRequest injectPageSize(ListSkusRequest payload, int pageSize) { + return ListSkusRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListSkusRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListSkusResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListSkusResponse payload) { + return payload.getSkusList(); + } + }; + + private static final PagedListDescriptor + LIST_SKU_GROUPS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListSkuGroupsRequest injectToken(ListSkuGroupsRequest payload, String token) { + return ListSkuGroupsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListSkuGroupsRequest injectPageSize(ListSkuGroupsRequest payload, int pageSize) { + return ListSkuGroupsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListSkuGroupsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListSkuGroupsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListSkuGroupsResponse payload) { + return payload.getSkuGroupsList(); + } + }; + + private static final PagedListDescriptor + LIST_LOCATIONS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) { + return ListLocationsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) { + return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListLocationsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListLocationsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListLocationsResponse payload) { + return payload.getLocationsList(); + } + }; + + private static final PagedListResponseFactory< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + LIST_SERVICES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListServicesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_SERVICES_PAGE_STR_DESC, request, context); + return ListServicesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + LIST_PRIVATE_OFFERS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListPrivateOffersRequest, + ListPrivateOffersResponse, + ListPrivateOffersPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListPrivateOffersRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, LIST_PRIVATE_OFFERS_PAGE_STR_DESC, request, context); + return ListPrivateOffersPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + LIST_PRIVATE_OFFER_DOCUMENTS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable + callable, + ListPrivateOfferDocumentsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + PrivateOfferDocument> + pageContext = + PageContext.create( + callable, LIST_PRIVATE_OFFER_DOCUMENTS_PAGE_STR_DESC, request, context); + return ListPrivateOfferDocumentsPagedResponse.createAsync( + pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + LIST_STANDARD_OFFERS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListStandardOffersRequest, + ListStandardOffersResponse, + ListStandardOffersPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListStandardOffersRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, LIST_STANDARD_OFFERS_PAGE_STR_DESC, request, context); + return ListStandardOffersPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListSkusRequest, ListSkusResponse, ListSkusPagedResponse> + LIST_SKUS_PAGE_STR_FACT = + new PagedListResponseFactory() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListSkusRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_SKUS_PAGE_STR_DESC, request, context); + return ListSkusPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse> + LIST_SKU_GROUPS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListSkuGroupsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_SKU_GROUPS_PAGE_STR_DESC, request, context); + return ListSkuGroupsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + LIST_LOCATIONS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListLocationsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context); + return ListLocationsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + /** Returns the object with the settings used for calls to listServices. */ + public PagedCallSettings + listServicesSettings() { + return listServicesSettings; + } + + /** Returns the object with the settings used for calls to getService. */ + public UnaryCallSettings getServiceSettings() { + return getServiceSettings; + } + + /** Returns the object with the settings used for calls to listPrivateOffers. */ + public PagedCallSettings< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings() { + return listPrivateOffersSettings; + } + + /** Returns the object with the settings used for calls to getPrivateOffer. */ + public UnaryCallSettings getPrivateOfferSettings() { + return getPrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to createPrivateOffer. */ + public UnaryCallSettings createPrivateOfferSettings() { + return createPrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to updatePrivateOffer. */ + public UnaryCallSettings updatePrivateOfferSettings() { + return updatePrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to publishPrivateOffer. */ + public UnaryCallSettings publishPrivateOfferSettings() { + return publishPrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to cancelPrivateOffer. */ + public UnaryCallSettings cancelPrivateOfferSettings() { + return cancelPrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to deletePrivateOffer. */ + public UnaryCallSettings deletePrivateOfferSettings() { + return deletePrivateOfferSettings; + } + + /** Returns the object with the settings used for calls to listPrivateOfferDocuments. */ + public PagedCallSettings< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings() { + return listPrivateOfferDocumentsSettings; + } + + /** Returns the object with the settings used for calls to getPrivateOfferDocument. */ + public UnaryCallSettings + getPrivateOfferDocumentSettings() { + return getPrivateOfferDocumentSettings; + } + + /** Returns the object with the settings used for calls to createPrivateOfferDocument. */ + public UnaryCallSettings + createPrivateOfferDocumentSettings() { + return createPrivateOfferDocumentSettings; + } + + /** Returns the object with the settings used for calls to updatePrivateOfferDocument. */ + public UnaryCallSettings + updatePrivateOfferDocumentSettings() { + return updatePrivateOfferDocumentSettings; + } + + /** Returns the object with the settings used for calls to deletePrivateOfferDocument. */ + public UnaryCallSettings + deletePrivateOfferDocumentSettings() { + return deletePrivateOfferDocumentSettings; + } + + /** Returns the object with the settings used for calls to listStandardOffers. */ + public PagedCallSettings< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings() { + return listStandardOffersSettings; + } + + /** Returns the object with the settings used for calls to getStandardOffer. */ + public UnaryCallSettings getStandardOfferSettings() { + return getStandardOfferSettings; + } + + /** Returns the object with the settings used for calls to getSku. */ + public UnaryCallSettings getSkuSettings() { + return getSkuSettings; + } + + /** Returns the object with the settings used for calls to listSkus. */ + public PagedCallSettings + listSkusSettings() { + return listSkusSettings; + } + + /** Returns the object with the settings used for calls to getSkuGroup. */ + public UnaryCallSettings getSkuGroupSettings() { + return getSkuGroupSettings; + } + + /** Returns the object with the settings used for calls to listSkuGroups. */ + public PagedCallSettings + listSkuGroupsSettings() { + return listSkuGroupsSettings; + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return getLocationSettings; + } + + public CommerceTransactionStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcCommerceTransactionStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonCommerceTransactionStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "commerceproducer"; + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + @ObsoleteApi("Use getEndpoint() instead") + public static String getDefaultEndpoint() { + return "commerceproducer.googleapis.com:443"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "commerceproducer.mtls.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder() + .setScopesToApply(DEFAULT_SERVICE_SCOPES) + .setUseJwtAccessWithScope(true); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return InstantiatingHttpJsonChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(CommerceTransactionStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(CommerceTransactionStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return CommerceTransactionStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(@Nullable ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected CommerceTransactionStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + listServicesSettings = settingsBuilder.listServicesSettings().build(); + getServiceSettings = settingsBuilder.getServiceSettings().build(); + listPrivateOffersSettings = settingsBuilder.listPrivateOffersSettings().build(); + getPrivateOfferSettings = settingsBuilder.getPrivateOfferSettings().build(); + createPrivateOfferSettings = settingsBuilder.createPrivateOfferSettings().build(); + updatePrivateOfferSettings = settingsBuilder.updatePrivateOfferSettings().build(); + publishPrivateOfferSettings = settingsBuilder.publishPrivateOfferSettings().build(); + cancelPrivateOfferSettings = settingsBuilder.cancelPrivateOfferSettings().build(); + deletePrivateOfferSettings = settingsBuilder.deletePrivateOfferSettings().build(); + listPrivateOfferDocumentsSettings = settingsBuilder.listPrivateOfferDocumentsSettings().build(); + getPrivateOfferDocumentSettings = settingsBuilder.getPrivateOfferDocumentSettings().build(); + createPrivateOfferDocumentSettings = + settingsBuilder.createPrivateOfferDocumentSettings().build(); + updatePrivateOfferDocumentSettings = + settingsBuilder.updatePrivateOfferDocumentSettings().build(); + deletePrivateOfferDocumentSettings = + settingsBuilder.deletePrivateOfferDocumentSettings().build(); + listStandardOffersSettings = settingsBuilder.listStandardOffersSettings().build(); + getStandardOfferSettings = settingsBuilder.getStandardOfferSettings().build(); + getSkuSettings = settingsBuilder.getSkuSettings().build(); + listSkusSettings = settingsBuilder.listSkusSettings().build(); + getSkuGroupSettings = settingsBuilder.getSkuGroupSettings().build(); + listSkuGroupsSettings = settingsBuilder.listSkuGroupsSettings().build(); + listLocationsSettings = settingsBuilder.listLocationsSettings().build(); + getLocationSettings = settingsBuilder.getLocationSettings().build(); + } + + @Override + protected LibraryMetadata getLibraryMetadata() { + return LibraryMetadata.newBuilder() + .setArtifactName("com.google.cloud:google-cloud-commerceproducer") + .setRepository("googleapis/google-cloud-java") + .setVersion(Version.VERSION) + .build(); + } + + /** Builder for CommerceTransactionStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings; + private final UnaryCallSettings.Builder getServiceSettings; + private final PagedCallSettings.Builder< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings; + private final UnaryCallSettings.Builder + getPrivateOfferSettings; + private final UnaryCallSettings.Builder + createPrivateOfferSettings; + private final UnaryCallSettings.Builder + updatePrivateOfferSettings; + private final UnaryCallSettings.Builder + publishPrivateOfferSettings; + private final UnaryCallSettings.Builder + cancelPrivateOfferSettings; + private final UnaryCallSettings.Builder + deletePrivateOfferSettings; + private final PagedCallSettings.Builder< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings; + private final UnaryCallSettings.Builder + getPrivateOfferDocumentSettings; + private final UnaryCallSettings.Builder + createPrivateOfferDocumentSettings; + private final UnaryCallSettings.Builder + updatePrivateOfferDocumentSettings; + private final UnaryCallSettings.Builder + deletePrivateOfferDocumentSettings; + private final PagedCallSettings.Builder< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings; + private final UnaryCallSettings.Builder + getStandardOfferSettings; + private final UnaryCallSettings.Builder getSkuSettings; + private final PagedCallSettings.Builder< + ListSkusRequest, ListSkusResponse, ListSkusPagedResponse> + listSkusSettings; + private final UnaryCallSettings.Builder getSkuGroupSettings; + private final PagedCallSettings.Builder< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse> + listSkuGroupsSettings; + private final PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings.Builder getLocationSettings; + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "retry_policy_0_codes", + ImmutableSet.copyOf(Lists.newArrayList(StatusCode.Code.UNAVAILABLE))); + definitions.put( + "no_retry_1_codes", ImmutableSet.copyOf(Lists.newArrayList())); + definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelayDuration(Duration.ofMillis(10000L)) + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("retry_policy_0_params", settings); + settings = + RetrySettings.newBuilder() + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("no_retry_1_params", settings); + settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); + definitions.put("no_retry_params", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this(((ClientContext) null)); + } + + protected Builder(@Nullable ClientContext clientContext) { + super(clientContext); + + listServicesSettings = PagedCallSettings.newBuilder(LIST_SERVICES_PAGE_STR_FACT); + getServiceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listPrivateOffersSettings = PagedCallSettings.newBuilder(LIST_PRIVATE_OFFERS_PAGE_STR_FACT); + getPrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createPrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updatePrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + publishPrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + cancelPrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deletePrivateOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listPrivateOfferDocumentsSettings = + PagedCallSettings.newBuilder(LIST_PRIVATE_OFFER_DOCUMENTS_PAGE_STR_FACT); + getPrivateOfferDocumentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createPrivateOfferDocumentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updatePrivateOfferDocumentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deletePrivateOfferDocumentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listStandardOffersSettings = PagedCallSettings.newBuilder(LIST_STANDARD_OFFERS_PAGE_STR_FACT); + getStandardOfferSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + getSkuSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listSkusSettings = PagedCallSettings.newBuilder(LIST_SKUS_PAGE_STR_FACT); + getSkuGroupSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listSkuGroupsSettings = PagedCallSettings.newBuilder(LIST_SKU_GROUPS_PAGE_STR_FACT); + listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT); + getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listServicesSettings, + getServiceSettings, + listPrivateOffersSettings, + getPrivateOfferSettings, + createPrivateOfferSettings, + updatePrivateOfferSettings, + publishPrivateOfferSettings, + cancelPrivateOfferSettings, + deletePrivateOfferSettings, + listPrivateOfferDocumentsSettings, + getPrivateOfferDocumentSettings, + createPrivateOfferDocumentSettings, + updatePrivateOfferDocumentSettings, + deletePrivateOfferDocumentSettings, + listStandardOffersSettings, + getStandardOfferSettings, + getSkuSettings, + listSkusSettings, + getSkuGroupSettings, + listSkuGroupsSettings, + listLocationsSettings, + getLocationSettings); + initDefaults(this); + } + + protected Builder(CommerceTransactionStubSettings settings) { + super(settings); + + listServicesSettings = settings.listServicesSettings.toBuilder(); + getServiceSettings = settings.getServiceSettings.toBuilder(); + listPrivateOffersSettings = settings.listPrivateOffersSettings.toBuilder(); + getPrivateOfferSettings = settings.getPrivateOfferSettings.toBuilder(); + createPrivateOfferSettings = settings.createPrivateOfferSettings.toBuilder(); + updatePrivateOfferSettings = settings.updatePrivateOfferSettings.toBuilder(); + publishPrivateOfferSettings = settings.publishPrivateOfferSettings.toBuilder(); + cancelPrivateOfferSettings = settings.cancelPrivateOfferSettings.toBuilder(); + deletePrivateOfferSettings = settings.deletePrivateOfferSettings.toBuilder(); + listPrivateOfferDocumentsSettings = settings.listPrivateOfferDocumentsSettings.toBuilder(); + getPrivateOfferDocumentSettings = settings.getPrivateOfferDocumentSettings.toBuilder(); + createPrivateOfferDocumentSettings = settings.createPrivateOfferDocumentSettings.toBuilder(); + updatePrivateOfferDocumentSettings = settings.updatePrivateOfferDocumentSettings.toBuilder(); + deletePrivateOfferDocumentSettings = settings.deletePrivateOfferDocumentSettings.toBuilder(); + listStandardOffersSettings = settings.listStandardOffersSettings.toBuilder(); + getStandardOfferSettings = settings.getStandardOfferSettings.toBuilder(); + getSkuSettings = settings.getSkuSettings.toBuilder(); + listSkusSettings = settings.listSkusSettings.toBuilder(); + getSkuGroupSettings = settings.getSkuGroupSettings.toBuilder(); + listSkuGroupsSettings = settings.listSkuGroupsSettings.toBuilder(); + listLocationsSettings = settings.listLocationsSettings.toBuilder(); + getLocationSettings = settings.getLocationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listServicesSettings, + getServiceSettings, + listPrivateOffersSettings, + getPrivateOfferSettings, + createPrivateOfferSettings, + updatePrivateOfferSettings, + publishPrivateOfferSettings, + cancelPrivateOfferSettings, + deletePrivateOfferSettings, + listPrivateOfferDocumentsSettings, + getPrivateOfferDocumentSettings, + createPrivateOfferDocumentSettings, + updatePrivateOfferDocumentSettings, + deletePrivateOfferDocumentSettings, + listStandardOffersSettings, + getStandardOfferSettings, + getSkuSettings, + listSkusSettings, + getSkuGroupSettings, + listSkuGroupsSettings, + listLocationsSettings, + getLocationSettings); + } + + private static Builder createDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder createHttpJsonDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + builder + .listServicesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getServiceSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listPrivateOffersSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getPrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .createPrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .updatePrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .publishPrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .cancelPrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .deletePrivateOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .listPrivateOfferDocumentsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getPrivateOfferDocumentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .createPrivateOfferDocumentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .updatePrivateOfferDocumentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .deletePrivateOfferDocumentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .listStandardOffersSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getStandardOfferSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getSkuSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listSkusSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getSkuGroupSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listSkuGroupsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listLocationsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .getLocationSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + return builder; + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to listServices. */ + public PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings() { + return listServicesSettings; + } + + /** Returns the builder for the settings used for calls to getService. */ + public UnaryCallSettings.Builder getServiceSettings() { + return getServiceSettings; + } + + /** Returns the builder for the settings used for calls to listPrivateOffers. */ + public PagedCallSettings.Builder< + ListPrivateOffersRequest, ListPrivateOffersResponse, ListPrivateOffersPagedResponse> + listPrivateOffersSettings() { + return listPrivateOffersSettings; + } + + /** Returns the builder for the settings used for calls to getPrivateOffer. */ + public UnaryCallSettings.Builder + getPrivateOfferSettings() { + return getPrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to createPrivateOffer. */ + public UnaryCallSettings.Builder + createPrivateOfferSettings() { + return createPrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to updatePrivateOffer. */ + public UnaryCallSettings.Builder + updatePrivateOfferSettings() { + return updatePrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to publishPrivateOffer. */ + public UnaryCallSettings.Builder + publishPrivateOfferSettings() { + return publishPrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to cancelPrivateOffer. */ + public UnaryCallSettings.Builder + cancelPrivateOfferSettings() { + return cancelPrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to deletePrivateOffer. */ + public UnaryCallSettings.Builder + deletePrivateOfferSettings() { + return deletePrivateOfferSettings; + } + + /** Returns the builder for the settings used for calls to listPrivateOfferDocuments. */ + public PagedCallSettings.Builder< + ListPrivateOfferDocumentsRequest, + ListPrivateOfferDocumentsResponse, + ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsSettings() { + return listPrivateOfferDocumentsSettings; + } + + /** Returns the builder for the settings used for calls to getPrivateOfferDocument. */ + public UnaryCallSettings.Builder + getPrivateOfferDocumentSettings() { + return getPrivateOfferDocumentSettings; + } + + /** Returns the builder for the settings used for calls to createPrivateOfferDocument. */ + public UnaryCallSettings.Builder + createPrivateOfferDocumentSettings() { + return createPrivateOfferDocumentSettings; + } + + /** Returns the builder for the settings used for calls to updatePrivateOfferDocument. */ + public UnaryCallSettings.Builder + updatePrivateOfferDocumentSettings() { + return updatePrivateOfferDocumentSettings; + } + + /** Returns the builder for the settings used for calls to deletePrivateOfferDocument. */ + public UnaryCallSettings.Builder + deletePrivateOfferDocumentSettings() { + return deletePrivateOfferDocumentSettings; + } + + /** Returns the builder for the settings used for calls to listStandardOffers. */ + public PagedCallSettings.Builder< + ListStandardOffersRequest, ListStandardOffersResponse, ListStandardOffersPagedResponse> + listStandardOffersSettings() { + return listStandardOffersSettings; + } + + /** Returns the builder for the settings used for calls to getStandardOffer. */ + public UnaryCallSettings.Builder + getStandardOfferSettings() { + return getStandardOfferSettings; + } + + /** Returns the builder for the settings used for calls to getSku. */ + public UnaryCallSettings.Builder getSkuSettings() { + return getSkuSettings; + } + + /** Returns the builder for the settings used for calls to listSkus. */ + public PagedCallSettings.Builder + listSkusSettings() { + return listSkusSettings; + } + + /** Returns the builder for the settings used for calls to getSkuGroup. */ + public UnaryCallSettings.Builder getSkuGroupSettings() { + return getSkuGroupSettings; + } + + /** Returns the builder for the settings used for calls to listSkuGroups. */ + public PagedCallSettings.Builder< + ListSkuGroupsRequest, ListSkuGroupsResponse, ListSkuGroupsPagedResponse> + listSkuGroupsSettings() { + return listSkuGroupsSettings; + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getLocationSettings; + } + + @Override + public CommerceTransactionStubSettings build() throws IOException { + return new CommerceTransactionStubSettings(this); + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionCallableFactory.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionCallableFactory.java new file mode 100644 index 000000000000..c7acb872f44d --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionCallableFactory.java @@ -0,0 +1,117 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.BidiStreamingCallable; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientStreamingCallable; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.StreamingCallSettings; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC callable factory implementation for the CommerceTransaction service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class GrpcCommerceTransactionCallableFactory implements GrpcStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + GrpcCallSettings grpcCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + GrpcCallSettings grpcCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + GrpcCallSettings grpcCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBatchingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + GrpcCallSettings grpcCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + return GrpcCallableFactory.createOperationCallable( + grpcCallSettings, callSettings, clientContext, operationsStub); + } + + @Override + public + BidiStreamingCallable createBidiStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBidiStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + GrpcCallSettings grpcCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createServerStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ClientStreamingCallable createClientStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createClientStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionStub.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionStub.java new file mode 100644 index 000000000000..88736690099d --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/GrpcCommerceTransactionStub.java @@ -0,0 +1,1007 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.ListServicesResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkusResponse; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.stub.GrpcOperationsStub; +import com.google.protobuf.Empty; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC stub implementation for the CommerceTransaction service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class GrpcCommerceTransactionStub extends CommerceTransactionStub { + private static final MethodDescriptor + listServicesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListServices") + .setRequestMarshaller(ProtoUtils.marshaller(ListServicesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListServicesResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getServiceMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.commerceproducer.v1beta.CommerceTransaction/GetService") + .setRequestMarshaller(ProtoUtils.marshaller(GetServiceRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Service.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listPrivateOffersMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOffers") + .setRequestMarshaller( + ProtoUtils.marshaller(ListPrivateOffersRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListPrivateOffersResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + getPrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(GetPrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(PrivateOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + createPrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(CreatePrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(PrivateOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + updatePrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdatePrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(PrivateOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + publishPrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/PublishPrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(PublishPrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(PrivateOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + cancelPrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CancelPrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(CancelPrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(PrivateOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + deletePrivateOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(DeletePrivateOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsResponse> + listPrivateOfferDocumentsMethodDescriptor = + MethodDescriptor + .newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOfferDocuments") + .setRequestMarshaller( + ProtoUtils.marshaller(ListPrivateOfferDocumentsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListPrivateOfferDocumentsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + getPrivateOfferDocumentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOfferDocument") + .setRequestMarshaller( + ProtoUtils.marshaller(GetPrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(PrivateOfferDocument.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + createPrivateOfferDocumentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOfferDocument") + .setRequestMarshaller( + ProtoUtils.marshaller(CreatePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(PrivateOfferDocument.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + updatePrivateOfferDocumentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOfferDocument") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdatePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(PrivateOfferDocument.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + deletePrivateOfferDocumentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOfferDocument") + .setRequestMarshaller( + ProtoUtils.marshaller(DeletePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listStandardOffersMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListStandardOffers") + .setRequestMarshaller( + ProtoUtils.marshaller(ListStandardOffersRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListStandardOffersResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + getStandardOfferMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetStandardOffer") + .setRequestMarshaller( + ProtoUtils.marshaller(GetStandardOfferRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(StandardOffer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getSkuMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSku") + .setRequestMarshaller(ProtoUtils.marshaller(GetSkuRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Sku.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listSkusMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkus") + .setRequestMarshaller(ProtoUtils.marshaller(ListSkusRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(ListSkusResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getSkuGroupMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSkuGroup") + .setRequestMarshaller(ProtoUtils.marshaller(GetSkuGroupRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(SkuGroup.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listSkuGroupsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkuGroups") + .setRequestMarshaller( + ProtoUtils.marshaller(ListSkuGroupsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListSkuGroupsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listLocationsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setRequestMarshaller( + ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getLocationMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private final UnaryCallable listServicesCallable; + private final UnaryCallable + listServicesPagedCallable; + private final UnaryCallable getServiceCallable; + private final UnaryCallable + listPrivateOffersCallable; + private final UnaryCallable + listPrivateOffersPagedCallable; + private final UnaryCallable getPrivateOfferCallable; + private final UnaryCallable createPrivateOfferCallable; + private final UnaryCallable updatePrivateOfferCallable; + private final UnaryCallable publishPrivateOfferCallable; + private final UnaryCallable cancelPrivateOfferCallable; + private final UnaryCallable deletePrivateOfferCallable; + private final UnaryCallable + listPrivateOfferDocumentsCallable; + private final UnaryCallable< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsPagedCallable; + private final UnaryCallable + getPrivateOfferDocumentCallable; + private final UnaryCallable + createPrivateOfferDocumentCallable; + private final UnaryCallable + updatePrivateOfferDocumentCallable; + private final UnaryCallable + deletePrivateOfferDocumentCallable; + private final UnaryCallable + listStandardOffersCallable; + private final UnaryCallable + listStandardOffersPagedCallable; + private final UnaryCallable getStandardOfferCallable; + private final UnaryCallable getSkuCallable; + private final UnaryCallable listSkusCallable; + private final UnaryCallable listSkusPagedCallable; + private final UnaryCallable getSkuGroupCallable; + private final UnaryCallable listSkuGroupsCallable; + private final UnaryCallable + listSkuGroupsPagedCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + private final GrpcStubCallableFactory callableFactory; + + public static final GrpcCommerceTransactionStub create(CommerceTransactionStubSettings settings) + throws IOException { + return new GrpcCommerceTransactionStub(settings, ClientContext.create(settings)); + } + + public static final GrpcCommerceTransactionStub create(ClientContext clientContext) + throws IOException { + return new GrpcCommerceTransactionStub( + CommerceTransactionStubSettings.newBuilder().build(), clientContext); + } + + public static final GrpcCommerceTransactionStub create( + ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { + return new GrpcCommerceTransactionStub( + CommerceTransactionStubSettings.newBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of GrpcCommerceTransactionStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcCommerceTransactionStub( + CommerceTransactionStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new GrpcCommerceTransactionCallableFactory()); + } + + /** + * Constructs an instance of GrpcCommerceTransactionStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected GrpcCommerceTransactionStub( + CommerceTransactionStubSettings settings, + ClientContext clientContext, + GrpcStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); + + GrpcCallSettings listServicesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listServicesMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getServiceTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getServiceMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + listPrivateOffersTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listPrivateOffersMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getPrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getPrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings createPrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createPrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings updatePrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updatePrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "private_offer.name", String.valueOf(request.getPrivateOffer().getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings + publishPrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(publishPrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings cancelPrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(cancelPrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings deletePrivateOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deletePrivateOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + listPrivateOfferDocumentsTransportSettings = + GrpcCallSettings + .newBuilder() + .setMethodDescriptor(listPrivateOfferDocumentsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings + getPrivateOfferDocumentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getPrivateOfferDocumentMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + createPrivateOfferDocumentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createPrivateOfferDocumentMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings + updatePrivateOfferDocumentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updatePrivateOfferDocumentMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "private_offer_document.name", + String.valueOf(request.getPrivateOfferDocument().getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings + deletePrivateOfferDocumentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deletePrivateOfferDocumentMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + listStandardOffersTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listStandardOffersMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getStandardOfferTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getStandardOfferMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings getSkuTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getSkuMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listSkusTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listSkusMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getSkuGroupTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getSkuGroupMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listSkuGroupsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listSkuGroupsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings listLocationsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings getLocationTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listServicesCallable = + callableFactory.createUnaryCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.listServicesPagedCallable = + callableFactory.createPagedCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.getServiceCallable = + callableFactory.createUnaryCallable( + getServiceTransportSettings, settings.getServiceSettings(), clientContext); + this.listPrivateOffersCallable = + callableFactory.createUnaryCallable( + listPrivateOffersTransportSettings, + settings.listPrivateOffersSettings(), + clientContext); + this.listPrivateOffersPagedCallable = + callableFactory.createPagedCallable( + listPrivateOffersTransportSettings, + settings.listPrivateOffersSettings(), + clientContext); + this.getPrivateOfferCallable = + callableFactory.createUnaryCallable( + getPrivateOfferTransportSettings, settings.getPrivateOfferSettings(), clientContext); + this.createPrivateOfferCallable = + callableFactory.createUnaryCallable( + createPrivateOfferTransportSettings, + settings.createPrivateOfferSettings(), + clientContext); + this.updatePrivateOfferCallable = + callableFactory.createUnaryCallable( + updatePrivateOfferTransportSettings, + settings.updatePrivateOfferSettings(), + clientContext); + this.publishPrivateOfferCallable = + callableFactory.createUnaryCallable( + publishPrivateOfferTransportSettings, + settings.publishPrivateOfferSettings(), + clientContext); + this.cancelPrivateOfferCallable = + callableFactory.createUnaryCallable( + cancelPrivateOfferTransportSettings, + settings.cancelPrivateOfferSettings(), + clientContext); + this.deletePrivateOfferCallable = + callableFactory.createUnaryCallable( + deletePrivateOfferTransportSettings, + settings.deletePrivateOfferSettings(), + clientContext); + this.listPrivateOfferDocumentsCallable = + callableFactory.createUnaryCallable( + listPrivateOfferDocumentsTransportSettings, + settings.listPrivateOfferDocumentsSettings(), + clientContext); + this.listPrivateOfferDocumentsPagedCallable = + callableFactory.createPagedCallable( + listPrivateOfferDocumentsTransportSettings, + settings.listPrivateOfferDocumentsSettings(), + clientContext); + this.getPrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + getPrivateOfferDocumentTransportSettings, + settings.getPrivateOfferDocumentSettings(), + clientContext); + this.createPrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + createPrivateOfferDocumentTransportSettings, + settings.createPrivateOfferDocumentSettings(), + clientContext); + this.updatePrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + updatePrivateOfferDocumentTransportSettings, + settings.updatePrivateOfferDocumentSettings(), + clientContext); + this.deletePrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + deletePrivateOfferDocumentTransportSettings, + settings.deletePrivateOfferDocumentSettings(), + clientContext); + this.listStandardOffersCallable = + callableFactory.createUnaryCallable( + listStandardOffersTransportSettings, + settings.listStandardOffersSettings(), + clientContext); + this.listStandardOffersPagedCallable = + callableFactory.createPagedCallable( + listStandardOffersTransportSettings, + settings.listStandardOffersSettings(), + clientContext); + this.getStandardOfferCallable = + callableFactory.createUnaryCallable( + getStandardOfferTransportSettings, settings.getStandardOfferSettings(), clientContext); + this.getSkuCallable = + callableFactory.createUnaryCallable( + getSkuTransportSettings, settings.getSkuSettings(), clientContext); + this.listSkusCallable = + callableFactory.createUnaryCallable( + listSkusTransportSettings, settings.listSkusSettings(), clientContext); + this.listSkusPagedCallable = + callableFactory.createPagedCallable( + listSkusTransportSettings, settings.listSkusSettings(), clientContext); + this.getSkuGroupCallable = + callableFactory.createUnaryCallable( + getSkuGroupTransportSettings, settings.getSkuGroupSettings(), clientContext); + this.listSkuGroupsCallable = + callableFactory.createUnaryCallable( + listSkuGroupsTransportSettings, settings.listSkuGroupsSettings(), clientContext); + this.listSkuGroupsPagedCallable = + callableFactory.createPagedCallable( + listSkuGroupsTransportSettings, settings.listSkuGroupsSettings(), clientContext); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + @Override + public UnaryCallable listServicesCallable() { + return listServicesCallable; + } + + @Override + public UnaryCallable listServicesPagedCallable() { + return listServicesPagedCallable; + } + + @Override + public UnaryCallable getServiceCallable() { + return getServiceCallable; + } + + @Override + public UnaryCallable + listPrivateOffersCallable() { + return listPrivateOffersCallable; + } + + @Override + public UnaryCallable + listPrivateOffersPagedCallable() { + return listPrivateOffersPagedCallable; + } + + @Override + public UnaryCallable getPrivateOfferCallable() { + return getPrivateOfferCallable; + } + + @Override + public UnaryCallable createPrivateOfferCallable() { + return createPrivateOfferCallable; + } + + @Override + public UnaryCallable updatePrivateOfferCallable() { + return updatePrivateOfferCallable; + } + + @Override + public UnaryCallable publishPrivateOfferCallable() { + return publishPrivateOfferCallable; + } + + @Override + public UnaryCallable cancelPrivateOfferCallable() { + return cancelPrivateOfferCallable; + } + + @Override + public UnaryCallable deletePrivateOfferCallable() { + return deletePrivateOfferCallable; + } + + @Override + public UnaryCallable + listPrivateOfferDocumentsCallable() { + return listPrivateOfferDocumentsCallable; + } + + @Override + public UnaryCallable + listPrivateOfferDocumentsPagedCallable() { + return listPrivateOfferDocumentsPagedCallable; + } + + @Override + public UnaryCallable + getPrivateOfferDocumentCallable() { + return getPrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + createPrivateOfferDocumentCallable() { + return createPrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + updatePrivateOfferDocumentCallable() { + return updatePrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + deletePrivateOfferDocumentCallable() { + return deletePrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + listStandardOffersCallable() { + return listStandardOffersCallable; + } + + @Override + public UnaryCallable + listStandardOffersPagedCallable() { + return listStandardOffersPagedCallable; + } + + @Override + public UnaryCallable getStandardOfferCallable() { + return getStandardOfferCallable; + } + + @Override + public UnaryCallable getSkuCallable() { + return getSkuCallable; + } + + @Override + public UnaryCallable listSkusCallable() { + return listSkusCallable; + } + + @Override + public UnaryCallable listSkusPagedCallable() { + return listSkusPagedCallable; + } + + @Override + public UnaryCallable getSkuGroupCallable() { + return getSkuGroupCallable; + } + + @Override + public UnaryCallable listSkuGroupsCallable() { + return listSkuGroupsCallable; + } + + @Override + public UnaryCallable + listSkuGroupsPagedCallable() { + return listSkuGroupsPagedCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionCallableFactory.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionCallableFactory.java new file mode 100644 index 000000000000..543552801875 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionCallableFactory.java @@ -0,0 +1,105 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the CommerceTransaction service API. + * + *

This class is for advanced usage. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class HttpJsonCommerceTransactionCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionStub.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionStub.java new file mode 100644 index 000000000000..283c49889347 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/HttpJsonCommerceTransactionStub.java @@ -0,0 +1,1626 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.ListServicesResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkusResponse; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.protobuf.Empty; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the CommerceTransaction service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@NullMarked +@BetaApi +@Generated("by gapic-generator-java") +public class HttpJsonCommerceTransactionStub extends CommerceTransactionStub { + private static final TypeRegistry typeRegistry = TypeRegistry.newBuilder().build(); + + private static final ApiMethodDescriptor + listServicesMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListServices") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*}/services", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListServicesResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor getServiceMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.commerceproducer.v1beta.CommerceTransaction/GetService") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/services/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "view", request.getViewValue()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Service.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listPrivateOffersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOffers") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*}/privateOffers", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListPrivateOffersResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getPrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOffer") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "view", request.getViewValue()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createPrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOffer") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*}/privateOffers", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("privateOffer", request.getPrivateOffer(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + updatePrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOffer") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{privateOffer.name=projects/*/locations/*/privateOffers/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "privateOffer.name", request.getPrivateOffer().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("privateOffer", request.getPrivateOffer(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + publishPrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/PublishPrivateOffer") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*}:publish", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearName().build(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + cancelPrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CancelPrivateOffer") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*}:cancel", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearName().build(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + deletePrivateOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOffer") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "force", request.getForce()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Empty.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsResponse> + listPrivateOfferDocumentsMethodDescriptor = + ApiMethodDescriptor + .newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListPrivateOfferDocuments") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListPrivateOfferDocumentsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getPrivateOfferDocumentMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetPrivateOfferDocument") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOfferDocument.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createPrivateOfferDocumentMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/CreatePrivateOfferDocument") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody( + "privateOfferDocument", + request.getPrivateOfferDocument(), + true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOfferDocument.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + updatePrivateOfferDocumentMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/UpdatePrivateOfferDocument") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{privateOfferDocument.name=projects/*/locations/*/privateOffers/*/documents/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, + "privateOfferDocument.name", + request.getPrivateOfferDocument().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody( + "privateOfferDocument", + request.getPrivateOfferDocument(), + true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(PrivateOfferDocument.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + deletePrivateOfferDocumentMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/DeletePrivateOfferDocument") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Empty.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listStandardOffersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListStandardOffers") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*/services/*}/standardOffers", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListStandardOffersResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getStandardOfferMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetStandardOffer") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/services/*/standardOffers/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "view", request.getViewValue()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(StandardOffer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor getSkuMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSku") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/services/*/skus/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Sku.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listSkusMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkus") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*/services/*}/skus", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListSkusResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getSkuGroupMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/GetSkuGroup") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*/skuGroups/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(SkuGroup.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listSkuGroupsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName( + "google.cloud.commerceproducer.v1beta.CommerceTransaction/ListSkuGroups") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{parent=projects/*/locations/*}/skuGroups", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListSkuGroupsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listLocationsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*}/locations", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListLocationsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getLocationMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1beta/{name=projects/*/locations/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Location.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private final UnaryCallable listServicesCallable; + private final UnaryCallable + listServicesPagedCallable; + private final UnaryCallable getServiceCallable; + private final UnaryCallable + listPrivateOffersCallable; + private final UnaryCallable + listPrivateOffersPagedCallable; + private final UnaryCallable getPrivateOfferCallable; + private final UnaryCallable createPrivateOfferCallable; + private final UnaryCallable updatePrivateOfferCallable; + private final UnaryCallable publishPrivateOfferCallable; + private final UnaryCallable cancelPrivateOfferCallable; + private final UnaryCallable deletePrivateOfferCallable; + private final UnaryCallable + listPrivateOfferDocumentsCallable; + private final UnaryCallable< + ListPrivateOfferDocumentsRequest, ListPrivateOfferDocumentsPagedResponse> + listPrivateOfferDocumentsPagedCallable; + private final UnaryCallable + getPrivateOfferDocumentCallable; + private final UnaryCallable + createPrivateOfferDocumentCallable; + private final UnaryCallable + updatePrivateOfferDocumentCallable; + private final UnaryCallable + deletePrivateOfferDocumentCallable; + private final UnaryCallable + listStandardOffersCallable; + private final UnaryCallable + listStandardOffersPagedCallable; + private final UnaryCallable getStandardOfferCallable; + private final UnaryCallable getSkuCallable; + private final UnaryCallable listSkusCallable; + private final UnaryCallable listSkusPagedCallable; + private final UnaryCallable getSkuGroupCallable; + private final UnaryCallable listSkuGroupsCallable; + private final UnaryCallable + listSkuGroupsPagedCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonCommerceTransactionStub create( + CommerceTransactionStubSettings settings) throws IOException { + return new HttpJsonCommerceTransactionStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonCommerceTransactionStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonCommerceTransactionStub( + CommerceTransactionStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonCommerceTransactionStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonCommerceTransactionStub( + CommerceTransactionStubSettings.newHttpJsonBuilder().build(), + clientContext, + callableFactory); + } + + /** + * Constructs an instance of HttpJsonCommerceTransactionStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonCommerceTransactionStub( + CommerceTransactionStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new HttpJsonCommerceTransactionCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonCommerceTransactionStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonCommerceTransactionStub( + CommerceTransactionStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + + HttpJsonCallSettings listServicesTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listServicesMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getServiceTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getServiceMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listPrivateOffersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listPrivateOffersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getPrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getPrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + createPrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createPrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + updatePrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updatePrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "private_offer.name", + String.valueOf(request.getPrivateOffer().getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings + publishPrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(publishPrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + cancelPrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(cancelPrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings deletePrivateOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deletePrivateOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listPrivateOfferDocumentsTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(listPrivateOfferDocumentsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + getPrivateOfferDocumentTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getPrivateOfferDocumentMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + createPrivateOfferDocumentTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(createPrivateOfferDocumentMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + updatePrivateOfferDocumentTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(updatePrivateOfferDocumentMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "private_offer_document.name", + String.valueOf(request.getPrivateOfferDocument().getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings + deletePrivateOfferDocumentTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deletePrivateOfferDocumentMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listStandardOffersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listStandardOffersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getStandardOfferTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getStandardOfferMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings getSkuTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getSkuMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings listSkusTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listSkusMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getSkuGroupTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getSkuGroupMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listSkuGroupsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listSkuGroupsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + listLocationsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings getLocationTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listServicesCallable = + callableFactory.createUnaryCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.listServicesPagedCallable = + callableFactory.createPagedCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.getServiceCallable = + callableFactory.createUnaryCallable( + getServiceTransportSettings, settings.getServiceSettings(), clientContext); + this.listPrivateOffersCallable = + callableFactory.createUnaryCallable( + listPrivateOffersTransportSettings, + settings.listPrivateOffersSettings(), + clientContext); + this.listPrivateOffersPagedCallable = + callableFactory.createPagedCallable( + listPrivateOffersTransportSettings, + settings.listPrivateOffersSettings(), + clientContext); + this.getPrivateOfferCallable = + callableFactory.createUnaryCallable( + getPrivateOfferTransportSettings, settings.getPrivateOfferSettings(), clientContext); + this.createPrivateOfferCallable = + callableFactory.createUnaryCallable( + createPrivateOfferTransportSettings, + settings.createPrivateOfferSettings(), + clientContext); + this.updatePrivateOfferCallable = + callableFactory.createUnaryCallable( + updatePrivateOfferTransportSettings, + settings.updatePrivateOfferSettings(), + clientContext); + this.publishPrivateOfferCallable = + callableFactory.createUnaryCallable( + publishPrivateOfferTransportSettings, + settings.publishPrivateOfferSettings(), + clientContext); + this.cancelPrivateOfferCallable = + callableFactory.createUnaryCallable( + cancelPrivateOfferTransportSettings, + settings.cancelPrivateOfferSettings(), + clientContext); + this.deletePrivateOfferCallable = + callableFactory.createUnaryCallable( + deletePrivateOfferTransportSettings, + settings.deletePrivateOfferSettings(), + clientContext); + this.listPrivateOfferDocumentsCallable = + callableFactory.createUnaryCallable( + listPrivateOfferDocumentsTransportSettings, + settings.listPrivateOfferDocumentsSettings(), + clientContext); + this.listPrivateOfferDocumentsPagedCallable = + callableFactory.createPagedCallable( + listPrivateOfferDocumentsTransportSettings, + settings.listPrivateOfferDocumentsSettings(), + clientContext); + this.getPrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + getPrivateOfferDocumentTransportSettings, + settings.getPrivateOfferDocumentSettings(), + clientContext); + this.createPrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + createPrivateOfferDocumentTransportSettings, + settings.createPrivateOfferDocumentSettings(), + clientContext); + this.updatePrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + updatePrivateOfferDocumentTransportSettings, + settings.updatePrivateOfferDocumentSettings(), + clientContext); + this.deletePrivateOfferDocumentCallable = + callableFactory.createUnaryCallable( + deletePrivateOfferDocumentTransportSettings, + settings.deletePrivateOfferDocumentSettings(), + clientContext); + this.listStandardOffersCallable = + callableFactory.createUnaryCallable( + listStandardOffersTransportSettings, + settings.listStandardOffersSettings(), + clientContext); + this.listStandardOffersPagedCallable = + callableFactory.createPagedCallable( + listStandardOffersTransportSettings, + settings.listStandardOffersSettings(), + clientContext); + this.getStandardOfferCallable = + callableFactory.createUnaryCallable( + getStandardOfferTransportSettings, settings.getStandardOfferSettings(), clientContext); + this.getSkuCallable = + callableFactory.createUnaryCallable( + getSkuTransportSettings, settings.getSkuSettings(), clientContext); + this.listSkusCallable = + callableFactory.createUnaryCallable( + listSkusTransportSettings, settings.listSkusSettings(), clientContext); + this.listSkusPagedCallable = + callableFactory.createPagedCallable( + listSkusTransportSettings, settings.listSkusSettings(), clientContext); + this.getSkuGroupCallable = + callableFactory.createUnaryCallable( + getSkuGroupTransportSettings, settings.getSkuGroupSettings(), clientContext); + this.listSkuGroupsCallable = + callableFactory.createUnaryCallable( + listSkuGroupsTransportSettings, settings.listSkuGroupsSettings(), clientContext); + this.listSkuGroupsPagedCallable = + callableFactory.createPagedCallable( + listSkuGroupsTransportSettings, settings.listSkuGroupsSettings(), clientContext); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(listServicesMethodDescriptor); + methodDescriptors.add(getServiceMethodDescriptor); + methodDescriptors.add(listPrivateOffersMethodDescriptor); + methodDescriptors.add(getPrivateOfferMethodDescriptor); + methodDescriptors.add(createPrivateOfferMethodDescriptor); + methodDescriptors.add(updatePrivateOfferMethodDescriptor); + methodDescriptors.add(publishPrivateOfferMethodDescriptor); + methodDescriptors.add(cancelPrivateOfferMethodDescriptor); + methodDescriptors.add(deletePrivateOfferMethodDescriptor); + methodDescriptors.add(listPrivateOfferDocumentsMethodDescriptor); + methodDescriptors.add(getPrivateOfferDocumentMethodDescriptor); + methodDescriptors.add(createPrivateOfferDocumentMethodDescriptor); + methodDescriptors.add(updatePrivateOfferDocumentMethodDescriptor); + methodDescriptors.add(deletePrivateOfferDocumentMethodDescriptor); + methodDescriptors.add(listStandardOffersMethodDescriptor); + methodDescriptors.add(getStandardOfferMethodDescriptor); + methodDescriptors.add(getSkuMethodDescriptor); + methodDescriptors.add(listSkusMethodDescriptor); + methodDescriptors.add(getSkuGroupMethodDescriptor); + methodDescriptors.add(listSkuGroupsMethodDescriptor); + methodDescriptors.add(listLocationsMethodDescriptor); + methodDescriptors.add(getLocationMethodDescriptor); + return methodDescriptors; + } + + @Override + public UnaryCallable listServicesCallable() { + return listServicesCallable; + } + + @Override + public UnaryCallable listServicesPagedCallable() { + return listServicesPagedCallable; + } + + @Override + public UnaryCallable getServiceCallable() { + return getServiceCallable; + } + + @Override + public UnaryCallable + listPrivateOffersCallable() { + return listPrivateOffersCallable; + } + + @Override + public UnaryCallable + listPrivateOffersPagedCallable() { + return listPrivateOffersPagedCallable; + } + + @Override + public UnaryCallable getPrivateOfferCallable() { + return getPrivateOfferCallable; + } + + @Override + public UnaryCallable createPrivateOfferCallable() { + return createPrivateOfferCallable; + } + + @Override + public UnaryCallable updatePrivateOfferCallable() { + return updatePrivateOfferCallable; + } + + @Override + public UnaryCallable publishPrivateOfferCallable() { + return publishPrivateOfferCallable; + } + + @Override + public UnaryCallable cancelPrivateOfferCallable() { + return cancelPrivateOfferCallable; + } + + @Override + public UnaryCallable deletePrivateOfferCallable() { + return deletePrivateOfferCallable; + } + + @Override + public UnaryCallable + listPrivateOfferDocumentsCallable() { + return listPrivateOfferDocumentsCallable; + } + + @Override + public UnaryCallable + listPrivateOfferDocumentsPagedCallable() { + return listPrivateOfferDocumentsPagedCallable; + } + + @Override + public UnaryCallable + getPrivateOfferDocumentCallable() { + return getPrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + createPrivateOfferDocumentCallable() { + return createPrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + updatePrivateOfferDocumentCallable() { + return updatePrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + deletePrivateOfferDocumentCallable() { + return deletePrivateOfferDocumentCallable; + } + + @Override + public UnaryCallable + listStandardOffersCallable() { + return listStandardOffersCallable; + } + + @Override + public UnaryCallable + listStandardOffersPagedCallable() { + return listStandardOffersPagedCallable; + } + + @Override + public UnaryCallable getStandardOfferCallable() { + return getStandardOfferCallable; + } + + @Override + public UnaryCallable getSkuCallable() { + return getSkuCallable; + } + + @Override + public UnaryCallable listSkusCallable() { + return listSkusCallable; + } + + @Override + public UnaryCallable listSkusPagedCallable() { + return listSkusPagedCallable; + } + + @Override + public UnaryCallable getSkuGroupCallable() { + return getSkuGroupCallable; + } + + @Override + public UnaryCallable listSkuGroupsCallable() { + return listSkuGroupsCallable; + } + + @Override + public UnaryCallable + listSkuGroupsPagedCallable() { + return listSkuGroupsPagedCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java new file mode 100644 index 000000000000..3d078161706d --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/java/com/google/cloud/commerceproducer/v1beta/stub/Version.java @@ -0,0 +1,27 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub; + +import com.google.api.core.InternalApi; + +@InternalApi("For internal use only") +final class Version { + // {x-version-update-start:google-cloud-commerceproducer:current} + static final String VERSION = "0.0.0-SNAPSHOT"; + // {x-version-update-end} + +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/main/resources/META-INF/native-image/com.google.cloud.commerceproducer.v1beta/reflect-config.json b/java-commerceproducer/google-cloud-commerceproducer/src/main/resources/META-INF/native-image/com.google.cloud.commerceproducer.v1beta/reflect-config.json new file mode 100644 index 000000000000..c6c67fdb0964 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/main/resources/META-INF/native-image/com.google.cloud.commerceproducer.v1beta/reflect-config.json @@ -0,0 +1,3008 @@ +[ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryDestination", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryOrganization", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldBehavior", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.LaunchStage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$History", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Style", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetServiceRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetServiceRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetSkuRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetSkuRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListServicesRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListServicesRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListServicesResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListServicesResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkusRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkusRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkusResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListSkusResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Customer", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Customer$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$OfferDealType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$PartnerContact", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$PartnerContact$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$PublishRequirementGoogleReview", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$PublishRequirementGoogleReview$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$ResellerContact", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$ResellerContact$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$ContractValue", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$ContractValue$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$CustomIntervalPrice", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$CustomIntervalPrice$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$Feature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$Feature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$Installment", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$Installment$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$Commitment", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$Commitment$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$FlatFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$FlatFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$SkuDiscount", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$SkuDiscount$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$Usage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$PriceModel$Usage$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$RevenueShare", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$RevenueShare$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$StandardIntervalPrice", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$StandardIntervalPrice$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$SingleProductOffer$StandardIntervalPrice$StandardInterval", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$State", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Term", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Term$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Term$EndPolicy", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOffer$Term$StartPolicy", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument$DocumentType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PrivateOfferView", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Service", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Service$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.ServiceView", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformDeployedModelUsageFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformDeployedModelUsageFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformDeployedModelUsageFee$UsageCalculation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelEndpointLocation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelEndpointLocation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$CacheReadInputTokensMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$CacheReadInputTokensMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$CacheWriteInputTokensMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$CacheWriteInputTokensMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$InputTokensMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$InputTokensMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$OutputTokensMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$OutputTokensMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$WebSearchRequestsMetric", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$AiPlatformManagedModelUsageMetric$WebSearchRequestsMetric$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$CombinedRequestInputTokensRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$CombinedRequestInputTokensRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$PredictionMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$ProvisionedThroughputOverage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformManagedModelUsageFee$ProvisionedThroughputOverage$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformProvisionedThroughputFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$AiPlatformProvisionedThroughputFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee$MachineResource", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee$MachineResourceRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee$MachineResourceRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ComputeEngineLicenseUsageFee$UsageCalculation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$FlatSubscriptionFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$FlatSubscriptionFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$InactiveSkuPrice", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$InactiveSkuPrice$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee$PodResource", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee$PodResourceRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee$PodResourceRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$KubernetesEnginePodUsageFee$UsageCalculation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ManagedServiceMetricUsageFee", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$ManagedServiceMetricUsageFee$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$TieredPrice", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$TieredPrice$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$TieredPrice$PriceTier", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.Sku$SkuPrice$TieredPrice$PriceTier$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.SkuGroup", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.SkuGroup$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$FlatFeeSubscription", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$FlatFeeSubscription$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$SkuGroupList", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$SkuGroupList$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$SkuList", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$SkuList$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$Usage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOffer$PriceModel$Usage$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.StandardOfferView", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$Edition", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnforceNamingStyle", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnumType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$FieldPresence", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$JsonFormat", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$MessageEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$RepeatedFieldEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Utf8Validation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$DefaultSymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Label", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$CType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$JSType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionRetention", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionTargetType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$OptimizeMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Semantic", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$IdempotencyLevel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.DateTime", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.DateTime$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.Decimal", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.Decimal$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.Money", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.Money$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.TimeZone", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.type.TimeZone$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + } +] \ No newline at end of file diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientHttpJsonTest.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientHttpJsonTest.java new file mode 100644 index 000000000000..4b2ef5cc2dd3 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientHttpJsonTest.java @@ -0,0 +1,2135 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.cloud.commerceproducer.v1beta.stub.HttpJsonCommerceTransactionStub; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; +import com.google.type.DateTime; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class CommerceTransactionClientHttpJsonTest { + private static MockHttpService mockService; + private static CommerceTransactionClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonCommerceTransactionStub.getMethodDescriptors(), + CommerceTransactionSettings.getDefaultEndpoint()); + CommerceTransactionSettings settings = + CommerceTransactionSettings.newHttpJsonBuilder() + .setTransportChannelProvider( + CommerceTransactionSettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = CommerceTransactionClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void listServicesTest() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicesExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest2() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicesExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setTitle("title110371416") + .build(); + mockService.addResponse(expectedResponse); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServiceExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setTitle("title110371416") + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServiceExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOffersTest() throws Exception { + PrivateOffer responsesElement = PrivateOffer.newBuilder().build(); + ListPrivateOffersResponse expectedResponse = + ListPrivateOffersResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOffers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListPrivateOffersPagedResponse pagedListResponse = client.listPrivateOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOffersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listPrivateOffersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listPrivateOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOffersTest2() throws Exception { + PrivateOffer responsesElement = PrivateOffer.newBuilder().build(); + ListPrivateOffersResponse expectedResponse = + ListPrivateOffersResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOffers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListPrivateOffersPagedResponse pagedListResponse = client.listPrivateOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOffersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listPrivateOffersExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listPrivateOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.getPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getPrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.getPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + + PrivateOffer actualResponse = client.getPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getPrivateOfferExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + client.getPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + + PrivateOffer actualResponse = client.createPrivateOffer(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createPrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + client.createPrivateOffer(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updatePrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + PrivateOffer privateOffer = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + PrivateOffer actualResponse = client.updatePrivateOffer(privateOffer, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updatePrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOffer privateOffer = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updatePrivateOffer(privateOffer, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void publishPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.publishPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void publishPrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.publishPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void publishPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + + PrivateOffer actualResponse = client.publishPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void publishPrivateOfferExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + client.publishPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void cancelPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.cancelPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void cancelPrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.cancelPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void cancelPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + + PrivateOffer actualResponse = client.cancelPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void cancelPrivateOfferExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + client.cancelPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockService.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + client.deletePrivateOffer(name); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deletePrivateOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.deletePrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + + client.deletePrivateOffer(name); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deletePrivateOfferExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-1888/locations/location-1888/privateOffers/privateOffer-1888"; + client.deletePrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOfferDocumentsTest() throws Exception { + PrivateOfferDocument responsesElement = PrivateOfferDocument.newBuilder().build(); + ListPrivateOfferDocumentsResponse expectedResponse = + ListPrivateOfferDocumentsResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOfferDocuments(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + ListPrivateOfferDocumentsPagedResponse pagedListResponse = + client.listPrivateOfferDocuments(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOfferDocumentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listPrivateOfferDocumentsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.listPrivateOfferDocuments(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOfferDocumentsTest2() throws Exception { + PrivateOfferDocument responsesElement = PrivateOfferDocument.newBuilder().build(); + ListPrivateOfferDocumentsResponse expectedResponse = + ListPrivateOfferDocumentsResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOfferDocuments(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-4017/locations/location-4017/privateOffers/privateOffer-4017"; + + ListPrivateOfferDocumentsPagedResponse pagedListResponse = + client.listPrivateOfferDocuments(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOfferDocumentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listPrivateOfferDocumentsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = + "projects/project-4017/locations/location-4017/privateOffers/privateOffer-4017"; + client.listPrivateOfferDocuments(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + + PrivateOfferDocument actualResponse = client.getPrivateOfferDocument(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getPrivateOfferDocumentExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + client.getPrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferDocumentTest2() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockService.addResponse(expectedResponse); + + String name = + "projects/project-1580/locations/location-1580/privateOffers/privateOffer-1580/documents/document-1580"; + + PrivateOfferDocument actualResponse = client.getPrivateOfferDocument(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getPrivateOfferDocumentExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-1580/locations/location-1580/privateOffers/privateOffer-1580/documents/document-1580"; + client.getPrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createPrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockService.addResponse(expectedResponse); + + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + + PrivateOfferDocument actualResponse = client.createPrivateOfferDocument(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createPrivateOfferDocumentExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + client.createPrivateOfferDocument(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updatePrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockService.addResponse(expectedResponse); + + PrivateOfferDocument privateOfferDocument = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + PrivateOfferDocument actualResponse = + client.updatePrivateOfferDocument(privateOfferDocument, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updatePrivateOfferDocumentExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferDocument privateOfferDocument = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updatePrivateOfferDocument(privateOfferDocument, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferDocumentTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockService.addResponse(expectedResponse); + + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + + client.deletePrivateOfferDocument(name); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deletePrivateOfferDocumentExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + client.deletePrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferDocumentTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockService.addResponse(expectedResponse); + + String name = + "projects/project-1580/locations/location-1580/privateOffers/privateOffer-1580/documents/document-1580"; + + client.deletePrivateOfferDocument(name); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deletePrivateOfferDocumentExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-1580/locations/location-1580/privateOffers/privateOffer-1580/documents/document-1580"; + client.deletePrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listStandardOffersTest() throws Exception { + StandardOffer responsesElement = StandardOffer.newBuilder().build(); + ListStandardOffersResponse expectedResponse = + ListStandardOffersResponse.newBuilder() + .setNextPageToken("") + .addAllStandardOffers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + ListStandardOffersPagedResponse pagedListResponse = client.listStandardOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getStandardOffersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listStandardOffersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.listStandardOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listStandardOffersTest2() throws Exception { + StandardOffer responsesElement = StandardOffer.newBuilder().build(); + ListStandardOffersResponse expectedResponse = + ListStandardOffersResponse.newBuilder() + .setNextPageToken("") + .addAllStandardOffers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-4913/locations/location-4913/services/service-4913"; + + ListStandardOffersPagedResponse pagedListResponse = client.listStandardOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getStandardOffersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listStandardOffersExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-4913/locations/location-4913/services/service-4913"; + client.listStandardOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getStandardOfferTest() throws Exception { + StandardOffer expectedResponse = + StandardOffer.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEffectiveTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setServiceLevel("serviceLevel342085071") + .setServiceLevelTitle("serviceLevelTitle1761652169") + .setPriceModel(StandardOffer.PriceModel.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + StandardOfferName name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]"); + + StandardOffer actualResponse = client.getStandardOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getStandardOfferExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + StandardOfferName name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]"); + client.getStandardOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getStandardOfferTest2() throws Exception { + StandardOffer expectedResponse = + StandardOffer.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEffectiveTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setServiceLevel("serviceLevel342085071") + .setServiceLevelTitle("serviceLevelTitle1761652169") + .setPriceModel(StandardOffer.PriceModel.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = + "projects/project-3360/locations/location-3360/services/service-3360/standardOffers/standardOffer-3360"; + + StandardOffer actualResponse = client.getStandardOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getStandardOfferExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-3360/locations/location-3360/services/service-3360/standardOffers/standardOffer-3360"; + client.getStandardOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuTest() throws Exception { + Sku expectedResponse = + Sku.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .setDescription("description-1724546052") + .addAllSkuPriceTimeline(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]"); + + Sku actualResponse = client.getSku(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getSkuExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]"); + client.getSku(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuTest2() throws Exception { + Sku expectedResponse = + Sku.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .setDescription("description-1724546052") + .addAllSkuPriceTimeline(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + String name = + "projects/project-7086/locations/location-7086/services/service-7086/skus/sku-7086"; + + Sku actualResponse = client.getSku(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getSkuExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = + "projects/project-7086/locations/location-7086/services/service-7086/skus/sku-7086"; + client.getSku(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkusTest() throws Exception { + Sku responsesElement = Sku.newBuilder().build(); + ListSkusResponse expectedResponse = + ListSkusResponse.newBuilder() + .setNextPageToken("") + .addAllSkus(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + ListSkusPagedResponse pagedListResponse = client.listSkus(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkusList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listSkusExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.listSkus(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkusTest2() throws Exception { + Sku responsesElement = Sku.newBuilder().build(); + ListSkusResponse expectedResponse = + ListSkusResponse.newBuilder() + .setNextPageToken("") + .addAllSkus(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-4913/locations/location-4913/services/service-4913"; + + ListSkusPagedResponse pagedListResponse = client.listSkus(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkusList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listSkusExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-4913/locations/location-4913/services/service-4913"; + client.listSkus(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuGroupTest() throws Exception { + SkuGroup expectedResponse = + SkuGroup.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .addAllSkus(new ArrayList()) + .addAllCloudBillingSkus(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]"); + + SkuGroup actualResponse = client.getSkuGroup(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getSkuGroupExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]"); + client.getSkuGroup(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuGroupTest2() throws Exception { + SkuGroup expectedResponse = + SkuGroup.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .addAllSkus(new ArrayList()) + .addAllCloudBillingSkus(new ArrayList()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-1063/locations/location-1063/skuGroups/skuGroup-1063"; + + SkuGroup actualResponse = client.getSkuGroup(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getSkuGroupExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-1063/locations/location-1063/skuGroups/skuGroup-1063"; + client.getSkuGroup(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkuGroupsTest() throws Exception { + SkuGroup responsesElement = SkuGroup.newBuilder().build(); + ListSkuGroupsResponse expectedResponse = + ListSkuGroupsResponse.newBuilder() + .setNextPageToken("") + .addAllSkuGroups(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListSkuGroupsPagedResponse pagedListResponse = client.listSkuGroups(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkuGroupsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listSkuGroupsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listSkuGroups(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkuGroupsTest2() throws Exception { + SkuGroup responsesElement = SkuGroup.newBuilder().build(); + ListSkuGroupsResponse expectedResponse = + ListSkuGroupsResponse.newBuilder() + .setNextPageToken("") + .addAllSkuGroups(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListSkuGroupsPagedResponse pagedListResponse = client.listSkuGroups(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkuGroupsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listSkuGroupsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listSkuGroups(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getLocationExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientTest.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientTest.java new file mode 100644 index 000000000000..ef9bc42822fd --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionClientTest.java @@ -0,0 +1,1855 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListLocationsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOfferDocumentsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListPrivateOffersPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListServicesPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkuGroupsPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListSkusPagedResponse; +import static com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient.ListStandardOffersPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.protobuf.AbstractMessage; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Timestamp; +import com.google.type.DateTime; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class CommerceTransactionClientTest { + private static MockCommerceTransaction mockCommerceTransaction; + private static MockLocations mockLocations; + private static MockServiceHelper mockServiceHelper; + private LocalChannelProvider channelProvider; + private CommerceTransactionClient client; + + @BeforeClass + public static void startStaticServer() { + mockCommerceTransaction = new MockCommerceTransaction(); + mockLocations = new MockLocations(); + mockServiceHelper = + new MockServiceHelper( + UUID.randomUUID().toString(), + Arrays.asList(mockCommerceTransaction, mockLocations)); + mockServiceHelper.start(); + } + + @AfterClass + public static void stopServer() { + mockServiceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); + CommerceTransactionSettings settings = + CommerceTransactionSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = CommerceTransactionClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + public void listServicesTest() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListServicesRequest actualRequest = ((ListServicesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listServicesExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest2() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListServicesRequest actualRequest = ((ListServicesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listServicesExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setTitle("title110371416") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetServiceRequest actualRequest = ((GetServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getServiceExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setTitle("title110371416") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetServiceRequest actualRequest = ((GetServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getServiceExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOffersTest() throws Exception { + PrivateOffer responsesElement = PrivateOffer.newBuilder().build(); + ListPrivateOffersResponse expectedResponse = + ListPrivateOffersResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOffers(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListPrivateOffersPagedResponse pagedListResponse = client.listPrivateOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOffersList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListPrivateOffersRequest actualRequest = ((ListPrivateOffersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listPrivateOffersExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listPrivateOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOffersTest2() throws Exception { + PrivateOffer responsesElement = PrivateOffer.newBuilder().build(); + ListPrivateOffersResponse expectedResponse = + ListPrivateOffersResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOffers(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListPrivateOffersPagedResponse pagedListResponse = client.listPrivateOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOffersList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListPrivateOffersRequest actualRequest = ((ListPrivateOffersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listPrivateOffersExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listPrivateOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.getPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetPrivateOfferRequest actualRequest = ((GetPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getPrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.getPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + PrivateOffer actualResponse = client.getPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetPrivateOfferRequest actualRequest = ((GetPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getPrivateOfferExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + + PrivateOffer actualResponse = client.createPrivateOffer(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreatePrivateOfferRequest actualRequest = ((CreatePrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getParent(), actualRequest.getParent()); + Assert.assertEquals(request.getPrivateOffer(), actualRequest.getPrivateOffer()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createPrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + client.createPrivateOffer(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updatePrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOffer privateOffer = PrivateOffer.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + PrivateOffer actualResponse = client.updatePrivateOffer(privateOffer, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdatePrivateOfferRequest actualRequest = ((UpdatePrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(privateOffer, actualRequest.getPrivateOffer()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updatePrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOffer privateOffer = PrivateOffer.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updatePrivateOffer(privateOffer, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void publishPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.publishPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + PublishPrivateOfferRequest actualRequest = ((PublishPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void publishPrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.publishPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void publishPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + PrivateOffer actualResponse = client.publishPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + PublishPrivateOfferRequest actualRequest = ((PublishPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void publishPrivateOfferExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.publishPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void cancelPrivateOfferTest() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + PrivateOffer actualResponse = client.cancelPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CancelPrivateOfferRequest actualRequest = ((CancelPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void cancelPrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.cancelPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void cancelPrivateOfferTest2() throws Exception { + PrivateOffer expectedResponse = + PrivateOffer.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPublishRequirementGoogleReview( + PrivateOffer.PublishRequirementGoogleReview.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setPublishTime(Timestamp.newBuilder().build()) + .setAcceptTime(Timestamp.newBuilder().build()) + .setCancelTime(Timestamp.newBuilder().build()) + .setEndTime(Timestamp.newBuilder().build()) + .setCancellationNote("cancellationNote806581141") + .setResellerContact(PrivateOffer.ResellerContact.newBuilder().build()) + .setInternalNote("internalNote-80133041") + .setTitle("title110371416") + .setCustomerNote("customerNote900170992") + .setPartnerContact(PrivateOffer.PartnerContact.newBuilder().build()) + .setCustomer(PrivateOffer.Customer.newBuilder().build()) + .setAcceptDeadlineTime(DateTime.newBuilder().build()) + .setTerm(PrivateOffer.Term.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + PrivateOffer actualResponse = client.cancelPrivateOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CancelPrivateOfferRequest actualRequest = ((CancelPrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void cancelPrivateOfferExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.cancelPrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + client.deletePrivateOffer(name); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeletePrivateOfferRequest actualRequest = ((DeletePrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deletePrivateOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.deletePrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + client.deletePrivateOffer(name); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeletePrivateOfferRequest actualRequest = ((DeletePrivateOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deletePrivateOfferExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.deletePrivateOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOfferDocumentsTest() throws Exception { + PrivateOfferDocument responsesElement = PrivateOfferDocument.newBuilder().build(); + ListPrivateOfferDocumentsResponse expectedResponse = + ListPrivateOfferDocumentsResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOfferDocuments(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + + ListPrivateOfferDocumentsPagedResponse pagedListResponse = + client.listPrivateOfferDocuments(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOfferDocumentsList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListPrivateOfferDocumentsRequest actualRequest = + ((ListPrivateOfferDocumentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listPrivateOfferDocumentsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + client.listPrivateOfferDocuments(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listPrivateOfferDocumentsTest2() throws Exception { + PrivateOfferDocument responsesElement = PrivateOfferDocument.newBuilder().build(); + ListPrivateOfferDocumentsResponse expectedResponse = + ListPrivateOfferDocumentsResponse.newBuilder() + .setNextPageToken("") + .addAllPrivateOfferDocuments(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListPrivateOfferDocumentsPagedResponse pagedListResponse = + client.listPrivateOfferDocuments(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getPrivateOfferDocumentsList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListPrivateOfferDocumentsRequest actualRequest = + ((ListPrivateOfferDocumentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listPrivateOfferDocumentsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listPrivateOfferDocuments(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + + PrivateOfferDocument actualResponse = client.getPrivateOfferDocument(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetPrivateOfferDocumentRequest actualRequest = + ((GetPrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getPrivateOfferDocumentExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + client.getPrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getPrivateOfferDocumentTest2() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + PrivateOfferDocument actualResponse = client.getPrivateOfferDocument(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetPrivateOfferDocumentRequest actualRequest = + ((GetPrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getPrivateOfferDocumentExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getPrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createPrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + + PrivateOfferDocument actualResponse = client.createPrivateOfferDocument(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreatePrivateOfferDocumentRequest actualRequest = + ((CreatePrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getParent(), actualRequest.getParent()); + Assert.assertEquals(request.getPrivateOfferDocument(), actualRequest.getPrivateOfferDocument()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createPrivateOfferDocumentExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + client.createPrivateOfferDocument(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updatePrivateOfferDocumentTest() throws Exception { + PrivateOfferDocument expectedResponse = + PrivateOfferDocument.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setMimeType("mimeType-1392120434") + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferDocument privateOfferDocument = PrivateOfferDocument.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + PrivateOfferDocument actualResponse = + client.updatePrivateOfferDocument(privateOfferDocument, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdatePrivateOfferDocumentRequest actualRequest = + ((UpdatePrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(privateOfferDocument, actualRequest.getPrivateOfferDocument()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updatePrivateOfferDocumentExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferDocument privateOfferDocument = PrivateOfferDocument.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updatePrivateOfferDocument(privateOfferDocument, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferDocumentTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockCommerceTransaction.addResponse(expectedResponse); + + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + + client.deletePrivateOfferDocument(name); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeletePrivateOfferDocumentRequest actualRequest = + ((DeletePrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deletePrivateOfferDocumentExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + client.deletePrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deletePrivateOfferDocumentTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + client.deletePrivateOfferDocument(name); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeletePrivateOfferDocumentRequest actualRequest = + ((DeletePrivateOfferDocumentRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deletePrivateOfferDocumentExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.deletePrivateOfferDocument(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listStandardOffersTest() throws Exception { + StandardOffer responsesElement = StandardOffer.newBuilder().build(); + ListStandardOffersResponse expectedResponse = + ListStandardOffersResponse.newBuilder() + .setNextPageToken("") + .addAllStandardOffers(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + ListStandardOffersPagedResponse pagedListResponse = client.listStandardOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getStandardOffersList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListStandardOffersRequest actualRequest = ((ListStandardOffersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listStandardOffersExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.listStandardOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listStandardOffersTest2() throws Exception { + StandardOffer responsesElement = StandardOffer.newBuilder().build(); + ListStandardOffersResponse expectedResponse = + ListStandardOffersResponse.newBuilder() + .setNextPageToken("") + .addAllStandardOffers(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListStandardOffersPagedResponse pagedListResponse = client.listStandardOffers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getStandardOffersList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListStandardOffersRequest actualRequest = ((ListStandardOffersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listStandardOffersExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listStandardOffers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getStandardOfferTest() throws Exception { + StandardOffer expectedResponse = + StandardOffer.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEffectiveTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setServiceLevel("serviceLevel342085071") + .setServiceLevelTitle("serviceLevelTitle1761652169") + .setPriceModel(StandardOffer.PriceModel.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + StandardOfferName name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]"); + + StandardOffer actualResponse = client.getStandardOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetStandardOfferRequest actualRequest = ((GetStandardOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getStandardOfferExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + StandardOfferName name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]"); + client.getStandardOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getStandardOfferTest2() throws Exception { + StandardOffer expectedResponse = + StandardOffer.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .setEffectiveTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setServiceLevel("serviceLevel342085071") + .setServiceLevelTitle("serviceLevelTitle1761652169") + .setPriceModel(StandardOffer.PriceModel.newBuilder().build()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + StandardOffer actualResponse = client.getStandardOffer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetStandardOfferRequest actualRequest = ((GetStandardOfferRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getStandardOfferExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getStandardOffer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuTest() throws Exception { + Sku expectedResponse = + Sku.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .setDescription("description-1724546052") + .addAllSkuPriceTimeline(new ArrayList()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]"); + + Sku actualResponse = client.getSku(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSkuRequest actualRequest = ((GetSkuRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSkuExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]"); + client.getSku(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuTest2() throws Exception { + Sku expectedResponse = + Sku.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .setDescription("description-1724546052") + .addAllSkuPriceTimeline(new ArrayList()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + Sku actualResponse = client.getSku(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSkuRequest actualRequest = ((GetSkuRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSkuExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getSku(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkusTest() throws Exception { + Sku responsesElement = Sku.newBuilder().build(); + ListSkusResponse expectedResponse = + ListSkusResponse.newBuilder() + .setNextPageToken("") + .addAllSkus(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + ListSkusPagedResponse pagedListResponse = client.listSkus(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkusList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSkusRequest actualRequest = ((ListSkusRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSkusExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.listSkus(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkusTest2() throws Exception { + Sku responsesElement = Sku.newBuilder().build(); + ListSkusResponse expectedResponse = + ListSkusResponse.newBuilder() + .setNextPageToken("") + .addAllSkus(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListSkusPagedResponse pagedListResponse = client.listSkus(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkusList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSkusRequest actualRequest = ((ListSkusRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSkusExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listSkus(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuGroupTest() throws Exception { + SkuGroup expectedResponse = + SkuGroup.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .addAllSkus(new ArrayList()) + .addAllCloudBillingSkus(new ArrayList()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]"); + + SkuGroup actualResponse = client.getSkuGroup(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSkuGroupRequest actualRequest = ((GetSkuGroupRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSkuGroupExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]"); + client.getSkuGroup(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSkuGroupTest2() throws Exception { + SkuGroup expectedResponse = + SkuGroup.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .addAllSkus(new ArrayList()) + .addAllCloudBillingSkus(new ArrayList()) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String name = "name3373707"; + + SkuGroup actualResponse = client.getSkuGroup(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSkuGroupRequest actualRequest = ((GetSkuGroupRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSkuGroupExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String name = "name3373707"; + client.getSkuGroup(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkuGroupsTest() throws Exception { + SkuGroup responsesElement = SkuGroup.newBuilder().build(); + ListSkuGroupsResponse expectedResponse = + ListSkuGroupsResponse.newBuilder() + .setNextPageToken("") + .addAllSkuGroups(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListSkuGroupsPagedResponse pagedListResponse = client.listSkuGroups(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkuGroupsList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSkuGroupsRequest actualRequest = ((ListSkuGroupsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSkuGroupsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listSkuGroups(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSkuGroupsTest2() throws Exception { + SkuGroup responsesElement = SkuGroup.newBuilder().build(); + ListSkuGroupsResponse expectedResponse = + ListSkuGroupsResponse.newBuilder() + .setNextPageToken("") + .addAllSkuGroups(Arrays.asList(responsesElement)) + .build(); + mockCommerceTransaction.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListSkuGroupsPagedResponse pagedListResponse = client.listSkuGroups(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSkuGroupsList().get(0), resources.get(0)); + + List actualRequests = mockCommerceTransaction.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSkuGroupsRequest actualRequest = ((ListSkuGroupsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSkuGroupsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCommerceTransaction.addException(exception); + + try { + String parent = "parent-995424086"; + client.listSkuGroups(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockLocations.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); + Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); + Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockLocations.addResponse(expectedResponse); + + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getLocationExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransaction.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransaction.java new file mode 100644 index 000000000000..d98c9caf7dfa --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransaction.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockCommerceTransaction implements MockGrpcService { + private final MockCommerceTransactionImpl serviceImpl; + + public MockCommerceTransaction() { + serviceImpl = new MockCommerceTransactionImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransactionImpl.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransactionImpl.java new file mode 100644 index 000000000000..9a6a8df67b1f --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockCommerceTransactionImpl.java @@ -0,0 +1,488 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.core.BetaApi; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionGrpc.CommerceTransactionImplBase; +import com.google.protobuf.AbstractMessage; +import com.google.protobuf.Empty; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockCommerceTransactionImpl extends CommerceTransactionImplBase { + private List requests; + private Queue responses; + + public MockCommerceTransactionImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listServices( + ListServicesRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListServicesResponse) { + requests.add(request); + responseObserver.onNext(((ListServicesResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListServices, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListServicesResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getService(GetServiceRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Service) { + requests.add(request); + responseObserver.onNext(((Service) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetService, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Service.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listPrivateOffers( + ListPrivateOffersRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListPrivateOffersResponse) { + requests.add(request); + responseObserver.onNext(((ListPrivateOffersResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListPrivateOffers, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListPrivateOffersResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getPrivateOffer( + GetPrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOffer) { + requests.add(request); + responseObserver.onNext(((PrivateOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetPrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void createPrivateOffer( + CreatePrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOffer) { + requests.add(request); + responseObserver.onNext(((PrivateOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreatePrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updatePrivateOffer( + UpdatePrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOffer) { + requests.add(request); + responseObserver.onNext(((PrivateOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdatePrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void publishPrivateOffer( + PublishPrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOffer) { + requests.add(request); + responseObserver.onNext(((PrivateOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method PublishPrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void cancelPrivateOffer( + CancelPrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOffer) { + requests.add(request); + responseObserver.onNext(((PrivateOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CancelPrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deletePrivateOffer( + DeletePrivateOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext(((Empty) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DeletePrivateOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Empty.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listPrivateOfferDocuments( + ListPrivateOfferDocumentsRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListPrivateOfferDocumentsResponse) { + requests.add(request); + responseObserver.onNext(((ListPrivateOfferDocumentsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListPrivateOfferDocuments, expected %s" + + " or %s", + response == null ? "null" : response.getClass().getName(), + ListPrivateOfferDocumentsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getPrivateOfferDocument( + GetPrivateOfferDocumentRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOfferDocument) { + requests.add(request); + responseObserver.onNext(((PrivateOfferDocument) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetPrivateOfferDocument, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + PrivateOfferDocument.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void createPrivateOfferDocument( + CreatePrivateOfferDocumentRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOfferDocument) { + requests.add(request); + responseObserver.onNext(((PrivateOfferDocument) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreatePrivateOfferDocument, expected %s" + + " or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOfferDocument.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updatePrivateOfferDocument( + UpdatePrivateOfferDocumentRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof PrivateOfferDocument) { + requests.add(request); + responseObserver.onNext(((PrivateOfferDocument) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdatePrivateOfferDocument, expected %s" + + " or %s", + response == null ? "null" : response.getClass().getName(), + PrivateOfferDocument.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deletePrivateOfferDocument( + DeletePrivateOfferDocumentRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext(((Empty) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DeletePrivateOfferDocument, expected %s" + + " or %s", + response == null ? "null" : response.getClass().getName(), + Empty.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listStandardOffers( + ListStandardOffersRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListStandardOffersResponse) { + requests.add(request); + responseObserver.onNext(((ListStandardOffersResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListStandardOffers, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListStandardOffersResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getStandardOffer( + GetStandardOfferRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof StandardOffer) { + requests.add(request); + responseObserver.onNext(((StandardOffer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetStandardOffer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + StandardOffer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getSku(GetSkuRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Sku) { + requests.add(request); + responseObserver.onNext(((Sku) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetSku, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Sku.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listSkus(ListSkusRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListSkusResponse) { + requests.add(request); + responseObserver.onNext(((ListSkusResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListSkus, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListSkusResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getSkuGroup(GetSkuGroupRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SkuGroup) { + requests.add(request); + responseObserver.onNext(((SkuGroup) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetSkuGroup, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SkuGroup.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listSkuGroups( + ListSkuGroupsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListSkuGroupsResponse) { + requests.add(request); + responseObserver.onNext(((ListSkuGroupsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListSkuGroups, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListSkuGroupsResponse.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocations.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocations.java new file mode 100644 index 000000000000..7bfdf252b2f5 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocations.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocations implements MockGrpcService { + private final MockLocationsImpl serviceImpl; + + public MockLocations() { + serviceImpl = new MockLocationsImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocationsImpl.java b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocationsImpl.java new file mode 100644 index 000000000000..caae46486884 --- /dev/null +++ b/java-commerceproducer/google-cloud-commerceproducer/src/test/java/com/google/cloud/commerceproducer/v1beta/MockLocationsImpl.java @@ -0,0 +1,105 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.core.BetaApi; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.location.LocationsGrpc.LocationsImplBase; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocationsImpl extends LocationsImplBase { + private List requests; + private Queue responses; + + public MockLocationsImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listLocations( + ListLocationsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListLocationsResponse) { + requests.add(request); + responseObserver.onNext(((ListLocationsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListLocations, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListLocationsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getLocation(GetLocationRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Location) { + requests.add(request); + responseObserver.onNext(((Location) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetLocation, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Location.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml new file mode 100644 index 000000000000..133830e94a71 --- /dev/null +++ b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/pom.xml @@ -0,0 +1,45 @@ + + 4.0.0 + com.google.api.grpc + grpc-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + grpc-google-cloud-commerceproducer-v1beta + GRPC library for google-cloud-commerceproducer + + com.google.cloud + google-cloud-commerceproducer-parent + 0.1.0-SNAPSHOT + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-cloud-commerceproducer-v1beta + + + com.google.guava + guava + + + diff --git a/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionGrpc.java b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionGrpc.java new file mode 100644 index 000000000000..4d081aa3d757 --- /dev/null +++ b/java-commerceproducer/grpc-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionGrpc.java @@ -0,0 +1,3048 @@ +/* + * Copyright 2026 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. + */ +package com.google.cloud.commerceproducer.v1beta; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * APIs related to managing resources that model commercial transactions.
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class CommerceTransactionGrpc { + + private CommerceTransactionGrpc() {} + + public static final java.lang.String SERVICE_NAME = + "google.cloud.commerceproducer.v1beta.CommerceTransaction"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListServicesRequest, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse> + getListServicesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListServices", + requestType = com.google.cloud.commerceproducer.v1beta.ListServicesRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.ListServicesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListServicesRequest, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse> + getListServicesMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListServicesRequest, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse> + getListServicesMethod; + if ((getListServicesMethod = CommerceTransactionGrpc.getListServicesMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListServicesMethod = CommerceTransactionGrpc.getListServicesMethod) == null) { + CommerceTransactionGrpc.getListServicesMethod = + getListServicesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListServices")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListServicesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("ListServices")) + .build(); + } + } + } + return getListServicesMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetServiceRequest, + com.google.cloud.commerceproducer.v1beta.Service> + getGetServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetService", + requestType = com.google.cloud.commerceproducer.v1beta.GetServiceRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.Service.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetServiceRequest, + com.google.cloud.commerceproducer.v1beta.Service> + getGetServiceMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetServiceRequest, + com.google.cloud.commerceproducer.v1beta.Service> + getGetServiceMethod; + if ((getGetServiceMethod = CommerceTransactionGrpc.getGetServiceMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetServiceMethod = CommerceTransactionGrpc.getGetServiceMethod) == null) { + CommerceTransactionGrpc.getGetServiceMethod = + getGetServiceMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.Service + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("GetService")) + .build(); + } + } + } + return getGetServiceMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + getListPrivateOffersMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListPrivateOffers", + requestType = com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + getListPrivateOffersMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + getListPrivateOffersMethod; + if ((getListPrivateOffersMethod = CommerceTransactionGrpc.getListPrivateOffersMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListPrivateOffersMethod = CommerceTransactionGrpc.getListPrivateOffersMethod) + == null) { + CommerceTransactionGrpc.getListPrivateOffersMethod = + getListPrivateOffersMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListPrivateOffers")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("ListPrivateOffers")) + .build(); + } + } + } + return getListPrivateOffersMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getGetPrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetPrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getGetPrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getGetPrivateOfferMethod; + if ((getGetPrivateOfferMethod = CommerceTransactionGrpc.getGetPrivateOfferMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetPrivateOfferMethod = CommerceTransactionGrpc.getGetPrivateOfferMethod) == null) { + CommerceTransactionGrpc.getGetPrivateOfferMethod = + getGetPrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetPrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("GetPrivateOffer")) + .build(); + } + } + } + return getGetPrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCreatePrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreatePrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCreatePrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCreatePrivateOfferMethod; + if ((getCreatePrivateOfferMethod = CommerceTransactionGrpc.getCreatePrivateOfferMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getCreatePrivateOfferMethod = CommerceTransactionGrpc.getCreatePrivateOfferMethod) + == null) { + CommerceTransactionGrpc.getCreatePrivateOfferMethod = + getCreatePrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreatePrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("CreatePrivateOffer")) + .build(); + } + } + } + return getCreatePrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getUpdatePrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdatePrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getUpdatePrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getUpdatePrivateOfferMethod; + if ((getUpdatePrivateOfferMethod = CommerceTransactionGrpc.getUpdatePrivateOfferMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getUpdatePrivateOfferMethod = CommerceTransactionGrpc.getUpdatePrivateOfferMethod) + == null) { + CommerceTransactionGrpc.getUpdatePrivateOfferMethod = + getUpdatePrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdatePrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("UpdatePrivateOffer")) + .build(); + } + } + } + return getUpdatePrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getPublishPrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "PublishPrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getPublishPrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getPublishPrivateOfferMethod; + if ((getPublishPrivateOfferMethod = CommerceTransactionGrpc.getPublishPrivateOfferMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getPublishPrivateOfferMethod = CommerceTransactionGrpc.getPublishPrivateOfferMethod) + == null) { + CommerceTransactionGrpc.getPublishPrivateOfferMethod = + getPublishPrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "PublishPrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("PublishPrivateOffer")) + .build(); + } + } + } + return getPublishPrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCancelPrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CancelPrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCancelPrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getCancelPrivateOfferMethod; + if ((getCancelPrivateOfferMethod = CommerceTransactionGrpc.getCancelPrivateOfferMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getCancelPrivateOfferMethod = CommerceTransactionGrpc.getCancelPrivateOfferMethod) + == null) { + CommerceTransactionGrpc.getCancelPrivateOfferMethod = + getCancelPrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CancelPrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("CancelPrivateOffer")) + .build(); + } + } + } + return getCancelPrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeletePrivateOffer", + requestType = com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferMethod; + if ((getDeletePrivateOfferMethod = CommerceTransactionGrpc.getDeletePrivateOfferMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getDeletePrivateOfferMethod = CommerceTransactionGrpc.getDeletePrivateOfferMethod) + == null) { + CommerceTransactionGrpc.getDeletePrivateOfferMethod = + getDeletePrivateOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeletePrivateOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("DeletePrivateOffer")) + .build(); + } + } + } + return getDeletePrivateOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + getListPrivateOfferDocumentsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListPrivateOfferDocuments", + requestType = com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.class, + responseType = + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + getListPrivateOfferDocumentsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + getListPrivateOfferDocumentsMethod; + if ((getListPrivateOfferDocumentsMethod = + CommerceTransactionGrpc.getListPrivateOfferDocumentsMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListPrivateOfferDocumentsMethod = + CommerceTransactionGrpc.getListPrivateOfferDocumentsMethod) + == null) { + CommerceTransactionGrpc.getListPrivateOfferDocumentsMethod = + getListPrivateOfferDocumentsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "ListPrivateOfferDocuments")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .ListPrivateOfferDocumentsRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .ListPrivateOfferDocumentsResponse.getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier( + "ListPrivateOfferDocuments")) + .build(); + } + } + } + return getListPrivateOfferDocumentsMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getGetPrivateOfferDocumentMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetPrivateOfferDocument", + requestType = com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getGetPrivateOfferDocumentMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getGetPrivateOfferDocumentMethod; + if ((getGetPrivateOfferDocumentMethod = + CommerceTransactionGrpc.getGetPrivateOfferDocumentMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetPrivateOfferDocumentMethod = + CommerceTransactionGrpc.getGetPrivateOfferDocumentMethod) + == null) { + CommerceTransactionGrpc.getGetPrivateOfferDocumentMethod = + getGetPrivateOfferDocumentMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "GetPrivateOfferDocument")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .GetPrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier( + "GetPrivateOfferDocument")) + .build(); + } + } + } + return getGetPrivateOfferDocumentMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getCreatePrivateOfferDocumentMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreatePrivateOfferDocument", + requestType = + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getCreatePrivateOfferDocumentMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getCreatePrivateOfferDocumentMethod; + if ((getCreatePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getCreatePrivateOfferDocumentMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getCreatePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getCreatePrivateOfferDocumentMethod) + == null) { + CommerceTransactionGrpc.getCreatePrivateOfferDocumentMethod = + getCreatePrivateOfferDocumentMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "CreatePrivateOfferDocument")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .CreatePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier( + "CreatePrivateOfferDocument")) + .build(); + } + } + } + return getCreatePrivateOfferDocumentMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getUpdatePrivateOfferDocumentMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdatePrivateOfferDocument", + requestType = + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getUpdatePrivateOfferDocumentMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getUpdatePrivateOfferDocumentMethod; + if ((getUpdatePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getUpdatePrivateOfferDocumentMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getUpdatePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getUpdatePrivateOfferDocumentMethod) + == null) { + CommerceTransactionGrpc.getUpdatePrivateOfferDocumentMethod = + getUpdatePrivateOfferDocumentMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "UpdatePrivateOfferDocument")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .UpdatePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier( + "UpdatePrivateOfferDocument")) + .build(); + } + } + } + return getUpdatePrivateOfferDocumentMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferDocumentMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeletePrivateOfferDocument", + requestType = + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferDocumentMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest, + com.google.protobuf.Empty> + getDeletePrivateOfferDocumentMethod; + if ((getDeletePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getDeletePrivateOfferDocumentMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getDeletePrivateOfferDocumentMethod = + CommerceTransactionGrpc.getDeletePrivateOfferDocumentMethod) + == null) { + CommerceTransactionGrpc.getDeletePrivateOfferDocumentMethod = + getDeletePrivateOfferDocumentMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "DeletePrivateOfferDocument")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta + .DeletePrivateOfferDocumentRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier( + "DeletePrivateOfferDocument")) + .build(); + } + } + } + return getDeletePrivateOfferDocumentMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + getListStandardOffersMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListStandardOffers", + requestType = com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + getListStandardOffersMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + getListStandardOffersMethod; + if ((getListStandardOffersMethod = CommerceTransactionGrpc.getListStandardOffersMethod) + == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListStandardOffersMethod = CommerceTransactionGrpc.getListStandardOffersMethod) + == null) { + CommerceTransactionGrpc.getListStandardOffersMethod = + getListStandardOffersMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListStandardOffers")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("ListStandardOffers")) + .build(); + } + } + } + return getListStandardOffersMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest, + com.google.cloud.commerceproducer.v1beta.StandardOffer> + getGetStandardOfferMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetStandardOffer", + requestType = com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.StandardOffer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest, + com.google.cloud.commerceproducer.v1beta.StandardOffer> + getGetStandardOfferMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest, + com.google.cloud.commerceproducer.v1beta.StandardOffer> + getGetStandardOfferMethod; + if ((getGetStandardOfferMethod = CommerceTransactionGrpc.getGetStandardOfferMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetStandardOfferMethod = CommerceTransactionGrpc.getGetStandardOfferMethod) + == null) { + CommerceTransactionGrpc.getGetStandardOfferMethod = + getGetStandardOfferMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetStandardOffer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.StandardOffer + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("GetStandardOffer")) + .build(); + } + } + } + return getGetStandardOfferMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuRequest, + com.google.cloud.commerceproducer.v1beta.Sku> + getGetSkuMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSku", + requestType = com.google.cloud.commerceproducer.v1beta.GetSkuRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.Sku.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuRequest, + com.google.cloud.commerceproducer.v1beta.Sku> + getGetSkuMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuRequest, + com.google.cloud.commerceproducer.v1beta.Sku> + getGetSkuMethod; + if ((getGetSkuMethod = CommerceTransactionGrpc.getGetSkuMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetSkuMethod = CommerceTransactionGrpc.getGetSkuMethod) == null) { + CommerceTransactionGrpc.getGetSkuMethod = + getGetSkuMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSku")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.Sku.getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("GetSku")) + .build(); + } + } + } + return getGetSkuMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkusRequest, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse> + getListSkusMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListSkus", + requestType = com.google.cloud.commerceproducer.v1beta.ListSkusRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.ListSkusResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkusRequest, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse> + getListSkusMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkusRequest, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse> + getListSkusMethod; + if ((getListSkusMethod = CommerceTransactionGrpc.getListSkusMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListSkusMethod = CommerceTransactionGrpc.getListSkusMethod) == null) { + CommerceTransactionGrpc.getListSkusMethod = + getListSkusMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListSkus")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListSkusResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("ListSkus")) + .build(); + } + } + } + return getListSkusMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest, + com.google.cloud.commerceproducer.v1beta.SkuGroup> + getGetSkuGroupMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSkuGroup", + requestType = com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.SkuGroup.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest, + com.google.cloud.commerceproducer.v1beta.SkuGroup> + getGetSkuGroupMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest, + com.google.cloud.commerceproducer.v1beta.SkuGroup> + getGetSkuGroupMethod; + if ((getGetSkuGroupMethod = CommerceTransactionGrpc.getGetSkuGroupMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getGetSkuGroupMethod = CommerceTransactionGrpc.getGetSkuGroupMethod) == null) { + CommerceTransactionGrpc.getGetSkuGroupMethod = + getGetSkuGroupMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSkuGroup")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.SkuGroup + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("GetSkuGroup")) + .build(); + } + } + } + return getGetSkuGroupMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse> + getListSkuGroupsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListSkuGroups", + requestType = com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.class, + responseType = com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse> + getListSkuGroupsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse> + getListSkuGroupsMethod; + if ((getListSkuGroupsMethod = CommerceTransactionGrpc.getListSkuGroupsMethod) == null) { + synchronized (CommerceTransactionGrpc.class) { + if ((getListSkuGroupsMethod = CommerceTransactionGrpc.getListSkuGroupsMethod) == null) { + CommerceTransactionGrpc.getListSkuGroupsMethod = + getListSkuGroupsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListSkuGroups")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new CommerceTransactionMethodDescriptorSupplier("ListSkuGroups")) + .build(); + } + } + } + return getListSkuGroupsMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static CommerceTransactionStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CommerceTransactionStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionStub(channel, callOptions); + } + }; + return CommerceTransactionStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static CommerceTransactionBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CommerceTransactionBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionBlockingV2Stub(channel, callOptions); + } + }; + return CommerceTransactionBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static CommerceTransactionBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CommerceTransactionBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionBlockingStub(channel, callOptions); + } + }; + return CommerceTransactionBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static CommerceTransactionFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public CommerceTransactionFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionFutureStub(channel, callOptions); + } + }; + return CommerceTransactionFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + default void listServices( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListServicesMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + default void getService( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists PrivateOffers for the given parent.
+     * 
+ */ + default void listPrivateOffers( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListPrivateOffersMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single PrivateOffer.
+     * 
+ */ + default void getPrivateOffer( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetPrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Creates a new PrivateOffer in a given project and location.
+     * 
+ */ + default void createPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreatePrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates the target PrivateOffer.
+     * 
+ */ + default void updatePrivateOffer( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdatePrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Publishes the target PrivateOffer.
+     * 
+ */ + default void publishPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getPublishPrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Cancels the target PrivateOffer.
+     * 
+ */ + default void cancelPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCancelPrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes the target PrivateOffer.
+     * 
+ */ + default void deletePrivateOffer( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeletePrivateOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists PrivateOfferDocuments for the given parent.
+     * 
+ */ + default void listPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListPrivateOfferDocumentsMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single PrivateOfferDocument.
+     * 
+ */ + default void getPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetPrivateOfferDocumentMethod(), responseObserver); + } + + /** + * + * + *
+     * Creates a new PrivateOfferDocument in a given project and location.
+     * 
+ */ + default void createPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreatePrivateOfferDocumentMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates the target PrivateOfferDocument.
+     * 
+ */ + default void updatePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdatePrivateOfferDocumentMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes the target PrivateOfferDocument.
+     * 
+ */ + default void deletePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeletePrivateOfferDocumentMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists StandardOffers for the given parent.
+     * 
+ */ + default void listStandardOffers( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListStandardOffersMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single StandardOffer.
+     * 
+ */ + default void getStandardOffer( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetStandardOfferMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Sku.
+     * 
+ */ + default void getSku( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSkuMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists Skus for the given parent.
+     * 
+ */ + default void listSkus( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSkusMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single SkuGroup.
+     * 
+ */ + default void getSkuGroup( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetSkuGroupMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists SkuGroups for the given parent.
+     * 
+ */ + default void listSkuGroups( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListSkuGroupsMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service CommerceTransaction. + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public abstract static class CommerceTransactionImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return CommerceTransactionGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service CommerceTransaction. + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public static final class CommerceTransactionStub + extends io.grpc.stub.AbstractAsyncStub { + private CommerceTransactionStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CommerceTransactionStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public void listServices( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListServicesMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public void getService( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetServiceMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Lists PrivateOffers for the given parent.
+     * 
+ */ + public void listPrivateOffers( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListPrivateOffersMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single PrivateOffer.
+     * 
+ */ + public void getPrivateOffer( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetPrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Creates a new PrivateOffer in a given project and location.
+     * 
+ */ + public void createPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreatePrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates the target PrivateOffer.
+     * 
+ */ + public void updatePrivateOffer( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdatePrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Publishes the target PrivateOffer.
+     * 
+ */ + public void publishPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getPublishPrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Cancels the target PrivateOffer.
+     * 
+ */ + public void cancelPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCancelPrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes the target PrivateOffer.
+     * 
+ */ + public void deletePrivateOffer( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeletePrivateOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists PrivateOfferDocuments for the given parent.
+     * 
+ */ + public void listPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListPrivateOfferDocumentsMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single PrivateOfferDocument.
+     * 
+ */ + public void getPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetPrivateOfferDocumentMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Creates a new PrivateOfferDocument in a given project and location.
+     * 
+ */ + public void createPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreatePrivateOfferDocumentMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates the target PrivateOfferDocument.
+     * 
+ */ + public void updatePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdatePrivateOfferDocumentMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes the target PrivateOfferDocument.
+     * 
+ */ + public void deletePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeletePrivateOfferDocumentMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists StandardOffers for the given parent.
+     * 
+ */ + public void listStandardOffers( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListStandardOffersMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single StandardOffer.
+     * 
+ */ + public void getStandardOffer( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetStandardOfferMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Sku.
+     * 
+ */ + public void getSku( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSkuMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Lists Skus for the given parent.
+     * 
+ */ + public void listSkus( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListSkusMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Gets details of a single SkuGroup.
+     * 
+ */ + public void getSkuGroup( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSkuGroupMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists SkuGroups for the given parent.
+     * 
+ */ + public void listSkuGroups( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListSkuGroupsMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service CommerceTransaction. + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public static final class CommerceTransactionBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private CommerceTransactionBlockingV2Stub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CommerceTransactionBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListServicesResponse listServices( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListServicesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.Service getService( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists PrivateOffers for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse listPrivateOffers( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListPrivateOffersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new PrivateOffer in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer createPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreatePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer updatePrivateOffer( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdatePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Publishes the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer publishPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getPublishPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Cancels the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer cancelPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCancelPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOffer.
+     * 
+ */ + public com.google.protobuf.Empty deletePrivateOffer( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeletePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists PrivateOfferDocuments for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + listPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListPrivateOfferDocumentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOfferDocument.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetPrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new PrivateOfferDocument in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument createPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreatePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the target PrivateOfferDocument.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument updatePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdatePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOfferDocument.
+     * 
+ */ + public com.google.protobuf.Empty deletePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeletePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists StandardOffers for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse listStandardOffers( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListStandardOffersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single StandardOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer getStandardOffer( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetStandardOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Sku.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.Sku getSku( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetSkuMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Skus for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListSkusResponse listSkus( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListSkusMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single SkuGroup.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup getSkuGroup( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetSkuGroupMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists SkuGroups for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse listSkuGroups( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListSkuGroupsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service CommerceTransaction. + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public static final class CommerceTransactionBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private CommerceTransactionBlockingStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CommerceTransactionBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListServicesResponse listServices( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListServicesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.Service getService( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists PrivateOffers for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse listPrivateOffers( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListPrivateOffersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new PrivateOffer in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer createPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreatePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer updatePrivateOffer( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdatePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Publishes the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer publishPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getPublishPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Cancels the target PrivateOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer cancelPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCancelPrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOffer.
+     * 
+ */ + public com.google.protobuf.Empty deletePrivateOffer( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeletePrivateOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists PrivateOfferDocuments for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + listPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListPrivateOfferDocumentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOfferDocument.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetPrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new PrivateOfferDocument in a given project and location.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument createPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreatePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the target PrivateOfferDocument.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument updatePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdatePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOfferDocument.
+     * 
+ */ + public com.google.protobuf.Empty deletePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeletePrivateOfferDocumentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists StandardOffers for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse listStandardOffers( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListStandardOffersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single StandardOffer.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer getStandardOffer( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetStandardOfferMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Sku.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.Sku getSku( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSkuMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Skus for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListSkusResponse listSkus( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListSkusMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single SkuGroup.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup getSkuGroup( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSkuGroupMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists SkuGroups for the given parent.
+     * 
+ */ + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse listSkuGroups( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListSkuGroupsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service CommerceTransaction. + * + *
+   * APIs related to managing resources that model commercial transactions.
+   * 
+ */ + public static final class CommerceTransactionFutureStub + extends io.grpc.stub.AbstractFutureStub { + private CommerceTransactionFutureStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected CommerceTransactionFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new CommerceTransactionFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListServicesResponse> + listServices(com.google.cloud.commerceproducer.v1beta.ListServicesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListServicesMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.Service> + getService(com.google.cloud.commerceproducer.v1beta.GetServiceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetServiceMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists PrivateOffers for the given parent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse> + listPrivateOffers( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListPrivateOffersMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + getPrivateOffer(com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetPrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Creates a new PrivateOffer in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + createPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreatePrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates the target PrivateOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + updatePrivateOffer( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdatePrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Publishes the target PrivateOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + publishPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getPublishPrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Cancels the target PrivateOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOffer> + cancelPrivateOffer( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCancelPrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deletePrivateOffer( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeletePrivateOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists PrivateOfferDocuments for the given parent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse> + listPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListPrivateOfferDocumentsMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single PrivateOfferDocument.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + getPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetPrivateOfferDocumentMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Creates a new PrivateOfferDocument in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + createPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreatePrivateOfferDocumentMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates the target PrivateOfferDocument.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument> + updatePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdatePrivateOfferDocumentMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes the target PrivateOfferDocument.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deletePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeletePrivateOfferDocumentMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists StandardOffers for the given parent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse> + listStandardOffers( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListStandardOffersMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single StandardOffer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.StandardOffer> + getStandardOffer(com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetStandardOfferMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Sku.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.Sku> + getSku(com.google.cloud.commerceproducer.v1beta.GetSkuRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSkuMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists Skus for the given parent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListSkusResponse> + listSkus(com.google.cloud.commerceproducer.v1beta.ListSkusRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListSkusMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single SkuGroup.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.SkuGroup> + getSkuGroup(com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSkuGroupMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists SkuGroups for the given parent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse> + listSkuGroups(com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListSkuGroupsMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_LIST_SERVICES = 0; + private static final int METHODID_GET_SERVICE = 1; + private static final int METHODID_LIST_PRIVATE_OFFERS = 2; + private static final int METHODID_GET_PRIVATE_OFFER = 3; + private static final int METHODID_CREATE_PRIVATE_OFFER = 4; + private static final int METHODID_UPDATE_PRIVATE_OFFER = 5; + private static final int METHODID_PUBLISH_PRIVATE_OFFER = 6; + private static final int METHODID_CANCEL_PRIVATE_OFFER = 7; + private static final int METHODID_DELETE_PRIVATE_OFFER = 8; + private static final int METHODID_LIST_PRIVATE_OFFER_DOCUMENTS = 9; + private static final int METHODID_GET_PRIVATE_OFFER_DOCUMENT = 10; + private static final int METHODID_CREATE_PRIVATE_OFFER_DOCUMENT = 11; + private static final int METHODID_UPDATE_PRIVATE_OFFER_DOCUMENT = 12; + private static final int METHODID_DELETE_PRIVATE_OFFER_DOCUMENT = 13; + private static final int METHODID_LIST_STANDARD_OFFERS = 14; + private static final int METHODID_GET_STANDARD_OFFER = 15; + private static final int METHODID_GET_SKU = 16; + private static final int METHODID_LIST_SKUS = 17; + private static final int METHODID_GET_SKU_GROUP = 18; + private static final int METHODID_LIST_SKU_GROUPS = 19; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_LIST_SERVICES: + serviceImpl.listServices( + (com.google.cloud.commerceproducer.v1beta.ListServicesRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListServicesResponse>) + responseObserver); + break; + case METHODID_GET_SERVICE: + serviceImpl.getService( + (com.google.cloud.commerceproducer.v1beta.GetServiceRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_PRIVATE_OFFERS: + serviceImpl.listPrivateOffers( + (com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse>) + responseObserver); + break; + case METHODID_GET_PRIVATE_OFFER: + serviceImpl.getPrivateOffer( + (com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_CREATE_PRIVATE_OFFER: + serviceImpl.createPrivateOffer( + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_UPDATE_PRIVATE_OFFER: + serviceImpl.updatePrivateOffer( + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_PUBLISH_PRIVATE_OFFER: + serviceImpl.publishPrivateOffer( + (com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_CANCEL_PRIVATE_OFFER: + serviceImpl.cancelPrivateOffer( + (com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_DELETE_PRIVATE_OFFER: + serviceImpl.deletePrivateOffer( + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_PRIVATE_OFFER_DOCUMENTS: + serviceImpl.listPrivateOfferDocuments( + (com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse>) + responseObserver); + break; + case METHODID_GET_PRIVATE_OFFER_DOCUMENT: + serviceImpl.getPrivateOfferDocument( + (com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>) + responseObserver); + break; + case METHODID_CREATE_PRIVATE_OFFER_DOCUMENT: + serviceImpl.createPrivateOfferDocument( + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>) + responseObserver); + break; + case METHODID_UPDATE_PRIVATE_OFFER_DOCUMENT: + serviceImpl.updatePrivateOfferDocument( + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>) + responseObserver); + break; + case METHODID_DELETE_PRIVATE_OFFER_DOCUMENT: + serviceImpl.deletePrivateOfferDocument( + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_STANDARD_OFFERS: + serviceImpl.listStandardOffers( + (com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse>) + responseObserver); + break; + case METHODID_GET_STANDARD_OFFER: + serviceImpl.getStandardOffer( + (com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_GET_SKU: + serviceImpl.getSku( + (com.google.cloud.commerceproducer.v1beta.GetSkuRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_SKUS: + serviceImpl.listSkus( + (com.google.cloud.commerceproducer.v1beta.ListSkusRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListSkusResponse>) + responseObserver); + break; + case METHODID_GET_SKU_GROUP: + serviceImpl.getSkuGroup( + (com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_SKU_GROUPS: + serviceImpl.listSkuGroups( + (com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse>) + responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getListServicesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListServicesRequest, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse>( + service, METHODID_LIST_SERVICES))) + .addMethod( + getGetServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetServiceRequest, + com.google.cloud.commerceproducer.v1beta.Service>( + service, METHODID_GET_SERVICE))) + .addMethod( + getListPrivateOffersMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse>( + service, METHODID_LIST_PRIVATE_OFFERS))) + .addMethod( + getGetPrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer>( + service, METHODID_GET_PRIVATE_OFFER))) + .addMethod( + getCreatePrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer>( + service, METHODID_CREATE_PRIVATE_OFFER))) + .addMethod( + getUpdatePrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer>( + service, METHODID_UPDATE_PRIVATE_OFFER))) + .addMethod( + getPublishPrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer>( + service, METHODID_PUBLISH_PRIVATE_OFFER))) + .addMethod( + getCancelPrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOffer>( + service, METHODID_CANCEL_PRIVATE_OFFER))) + .addMethod( + getDeletePrivateOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest, + com.google.protobuf.Empty>(service, METHODID_DELETE_PRIVATE_OFFER))) + .addMethod( + getListPrivateOfferDocumentsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse>( + service, METHODID_LIST_PRIVATE_OFFER_DOCUMENTS))) + .addMethod( + getGetPrivateOfferDocumentMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>( + service, METHODID_GET_PRIVATE_OFFER_DOCUMENT))) + .addMethod( + getCreatePrivateOfferDocumentMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>( + service, METHODID_CREATE_PRIVATE_OFFER_DOCUMENT))) + .addMethod( + getUpdatePrivateOfferDocumentMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument>( + service, METHODID_UPDATE_PRIVATE_OFFER_DOCUMENT))) + .addMethod( + getDeletePrivateOfferDocumentMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest, + com.google.protobuf.Empty>(service, METHODID_DELETE_PRIVATE_OFFER_DOCUMENT))) + .addMethod( + getListStandardOffersMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse>( + service, METHODID_LIST_STANDARD_OFFERS))) + .addMethod( + getGetStandardOfferMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest, + com.google.cloud.commerceproducer.v1beta.StandardOffer>( + service, METHODID_GET_STANDARD_OFFER))) + .addMethod( + getGetSkuMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetSkuRequest, + com.google.cloud.commerceproducer.v1beta.Sku>(service, METHODID_GET_SKU))) + .addMethod( + getListSkusMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListSkusRequest, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse>( + service, METHODID_LIST_SKUS))) + .addMethod( + getGetSkuGroupMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest, + com.google.cloud.commerceproducer.v1beta.SkuGroup>( + service, METHODID_GET_SKU_GROUP))) + .addMethod( + getListSkuGroupsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse>( + service, METHODID_LIST_SKU_GROUPS))) + .build(); + } + + private abstract static class CommerceTransactionBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + CommerceTransactionBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("CommerceTransaction"); + } + } + + private static final class CommerceTransactionFileDescriptorSupplier + extends CommerceTransactionBaseDescriptorSupplier { + CommerceTransactionFileDescriptorSupplier() {} + } + + private static final class CommerceTransactionMethodDescriptorSupplier + extends CommerceTransactionBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + CommerceTransactionMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (CommerceTransactionGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new CommerceTransactionFileDescriptorSupplier()) + .addMethod(getListServicesMethod()) + .addMethod(getGetServiceMethod()) + .addMethod(getListPrivateOffersMethod()) + .addMethod(getGetPrivateOfferMethod()) + .addMethod(getCreatePrivateOfferMethod()) + .addMethod(getUpdatePrivateOfferMethod()) + .addMethod(getPublishPrivateOfferMethod()) + .addMethod(getCancelPrivateOfferMethod()) + .addMethod(getDeletePrivateOfferMethod()) + .addMethod(getListPrivateOfferDocumentsMethod()) + .addMethod(getGetPrivateOfferDocumentMethod()) + .addMethod(getCreatePrivateOfferDocumentMethod()) + .addMethod(getUpdatePrivateOfferDocumentMethod()) + .addMethod(getDeletePrivateOfferDocumentMethod()) + .addMethod(getListStandardOffersMethod()) + .addMethod(getGetStandardOfferMethod()) + .addMethod(getGetSkuMethod()) + .addMethod(getListSkusMethod()) + .addMethod(getGetSkuGroupMethod()) + .addMethod(getListSkuGroupsMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-commerceproducer/pom.xml b/java-commerceproducer/pom.xml new file mode 100644 index 000000000000..ecfe0f54c01e --- /dev/null +++ b/java-commerceproducer/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + com.google.cloud + google-cloud-commerceproducer-parent + pom + 0.1.0-SNAPSHOT + Google Cloud Commerce Producer Parent + + Java idiomatic client for Google Cloud Platform services. + + + + com.google.cloud + google-cloud-jar-parent + 1.89.0-SNAPSHOT + ../google-cloud-jar-parent/pom.xml + + + + UTF-8 + UTF-8 + github + google-cloud-commerceproducer-parent + + + + + + + com.google.cloud + google-cloud-commerceproducer + 0.1.0-SNAPSHOT + + + com.google.api.grpc + grpc-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + + + com.google.api.grpc + proto-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + + + + + + + + google-cloud-commerceproducer + grpc-google-cloud-commerceproducer-v1beta + proto-google-cloud-commerceproducer-v1beta + + google-cloud-commerceproducer-bom + + + \ No newline at end of file diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/clirr-ignored-differences.xml b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/clirr-ignored-differences.xml new file mode 100644 index 000000000000..c51e5ee96693 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/clirr-ignored-differences.xml @@ -0,0 +1,80 @@ + + + + + 7012 + com/google/cloud/commerceproducer/v1beta/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/commerceproducer/v1beta/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/commerceproducer/v1beta/*OrBuilder + boolean has*(*) + + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * getDefaultInstanceForType() + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * addRepeatedField(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * clear() + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * clearField(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * clearOneof(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * clone() + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * mergeUnknownFields(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * setField(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * setRepeatedField(*) + ** + + + 7006 + com/google/cloud/commerceproducer/v1beta/** + * setUnknownFields(*) + ** + + diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml new file mode 100644 index 000000000000..8fb7154cf760 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/pom.xml @@ -0,0 +1,41 @@ + + 4.0.0 + com.google.api.grpc + proto-google-cloud-commerceproducer-v1beta + 0.1.0-SNAPSHOT + proto-google-cloud-commerceproducer-v1beta + Proto library for google-cloud-commerceproducer + + com.google.cloud + google-cloud-commerceproducer-parent + 0.1.0-SNAPSHOT + + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-iam-v1 + + + com.google.api + api-common + + + com.google.guava + guava + + + org.jspecify + jspecify + + + diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequest.java new file mode 100644 index 000000000000..d0f6c3bd60d8 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequest.java @@ -0,0 +1,818 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for cancelling a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class CancelPrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) + CancelPrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CancelPrivateOfferRequest"); + } + + // Use CancelPrivateOfferRequest.newBuilder() to construct. + private CancelPrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CancelPrivateOfferRequest() { + name_ = ""; + cancellationNote_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 CANCELLATION_NOTE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object cancellationNote_ = ""; + + /** + * + * + *
+   * Optional. Internal note relating to the cancellation.
+   * Stored on the cancelled offer. Not visible to customers.
+   * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cancellationNote. + */ + @java.lang.Override + public java.lang.String getCancellationNote() { + java.lang.Object ref = cancellationNote_; + 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(); + cancellationNote_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Internal note relating to the cancellation.
+   * Stored on the cancelled offer. Not visible to customers.
+   * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cancellationNote. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCancellationNoteBytes() { + java.lang.Object ref = cancellationNote_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + cancellationNote_ = 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cancellationNote_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, cancellationNote_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cancellationNote_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, cancellationNote_); + } + 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.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getCancellationNote().equals(other.getCancellationNote())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + CANCELLATION_NOTE_FIELD_NUMBER; + hash = (53 * hash) + getCancellationNote().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest 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.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for cancelling a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + cancellationNote_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.cancellationNote_ = cancellationNote_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getCancellationNote().isEmpty()) { + cancellationNote_ = other.cancellationNote_; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + cancellationNote_ = 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object cancellationNote_ = ""; + + /** + * + * + *
+     * Optional. Internal note relating to the cancellation.
+     * Stored on the cancelled offer. Not visible to customers.
+     * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cancellationNote. + */ + public java.lang.String getCancellationNote() { + java.lang.Object ref = cancellationNote_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + cancellationNote_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Internal note relating to the cancellation.
+     * Stored on the cancelled offer. Not visible to customers.
+     * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cancellationNote. + */ + public com.google.protobuf.ByteString getCancellationNoteBytes() { + java.lang.Object ref = cancellationNote_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + cancellationNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Internal note relating to the cancellation.
+     * Stored on the cancelled offer. Not visible to customers.
+     * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The cancellationNote to set. + * @return This builder for chaining. + */ + public Builder setCancellationNote(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + cancellationNote_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Internal note relating to the cancellation.
+     * Stored on the cancelled offer. Not visible to customers.
+     * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearCancellationNote() { + cancellationNote_ = getDefaultInstance().getCancellationNote(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Internal note relating to the cancellation.
+     * Stored on the cancelled offer. Not visible to customers.
+     * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for cancellationNote to set. + * @return This builder for chaining. + */ + public Builder setCancellationNoteBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + cancellationNote_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CancelPrivateOfferRequest 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.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..a4d7ebe87bf5 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CancelPrivateOfferRequestOrBuilder.java @@ -0,0 +1,86 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface CancelPrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. Internal note relating to the cancellation.
+   * Stored on the cancelled offer. Not visible to customers.
+   * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cancellationNote. + */ + java.lang.String getCancellationNote(); + + /** + * + * + *
+   * Optional. Internal note relating to the cancellation.
+   * Stored on the cancelled offer. Not visible to customers.
+   * 
+ * + * string cancellation_note = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cancellationNote. + */ + com.google.protobuf.ByteString getCancellationNoteBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionProto.java new file mode 100644 index 000000000000..7e8dc875dcc9 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CommerceTransactionProto.java @@ -0,0 +1,631 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class CommerceTransactionProto extends com.google.protobuf.GeneratedFile { + private CommerceTransactionProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CommerceTransactionProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_CancelPrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "?google/cloud/commerceproducer/v1beta/commerce_transaction.proto\022$google.cloud." + + "commerceproducer.v1beta\032\034google/api/anno" + + "tations.proto\032\027google/api/client.proto\032\037" + + "google/api/field_behavior.proto\032\031google/" + + "api/resource.proto\0328google/cloud/commerceproducer/v1beta/private_offer.proto\0322go" + + "ogle/cloud/commerceproducer/v1beta/service.proto\032.google/cloud/commerceproducer/" + + "v1beta/sku.proto\0324google/cloud/commerceproducer/v1beta/sku_group.proto\0329google/c" + + "loud/commerceproducer/v1beta/standard_offer.proto\032\033google/protobuf/empty.proto\032" + + " google/protobuf/field_mask.proto\"\275\001\n" + + "\030ListPrivateOffersRequest\022D\n" + + "\006parent\030\001 \001(\tB4\340" + + "A\002\372A.\022,commerceproducer.googleapis.com/PrivateOffer\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\022\025\n" + + "\010order_by\030\005 \001(\tB\003\340A\001\"\200\001\n" + + "\031ListPrivateOffersResponse\022J\n" + + "\016private_offers\030\001 \003(\01322" + + ".google.cloud.commerceproducer.v1beta.PrivateOffer\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\247\001\n" + + "\026GetPrivateOfferRequest\022B\n" + + "\004name\030\001 \001(\tB4\340A\002\372A.\n" + + ",commerceproducer.googleapis.com/PrivateOffer\022I\n" + + "\004view\030\002 \001(\01626.google.cloud." + + "commerceproducer.v1beta.PrivateOfferViewB\003\340A\001\"\261\001\n" + + "\031CreatePrivateOfferRequest\022D\n" + + "\006parent\030\001 \001(" + + "\tB4\340A\002\372A.\022,commerceproducer.googleapis.com/PrivateOffer\022N\n\r" + + "private_offer\030\003" + + " \001(\01322.google.cloud.commerceproducer.v1beta.PrivateOfferB\003\340A\002\"\241\001\n" + + "\031UpdatePrivateOfferRequest\0224\n" + + "\013update_mask\030\001" + + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\022N\n\r" + + "private_offer\030\002" + + " \001(\01322.google.cloud.commerceproducer.v1beta.PrivateOfferB\003\340A\002\"|\n" + + "\032PublishPrivateOfferRequest\022B\n" + + "\004name\030\001 \001(\tB4\340A\002\372A.\n" + + ",commerceproducer.googleapis.com/PrivateOffer\022\032\n\r" + + "validate_only\030\002 \001(\010B\003\340A\001\"\177\n" + + "\031CancelPrivateOfferRequest\022B\n" + + "\004name\030\001 \001(\tB4\340A\002\372A.\n" + + ",commerceproducer.googleapis.com/PrivateOffer\022\036\n" + + "\021cancellation_note\030\002 \001(\tB\003\340A\001\"s\n" + + "\031DeletePrivateOfferRequest\022B\n" + + "\004name\030\001 \001(\tB4\340A\002\372A.\n" + + ",commerceproducer.googleapis.com/PrivateOffer\022\022\n" + + "\005force\030\002 \001(\010B\003\340A\001\"\241\001\n" + + " ListPrivateOfferDocumentsRequest\022L\n" + + "\006parent\030\001 \001(" + + "\tB<\340A\002\372A6\0224commerceproducer.googleapis.com/PrivateOfferDocument\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"\231\001\n" + + "!ListPrivateOfferDocumentsResponse\022[\n" + + "\027private_offer_documents\030\001 \003(\0132:.g" + + "oogle.cloud.commerceproducer.v1beta.PrivateOfferDocument\022\027\n" + + "\017next_page_token\030\002 \001(\t\"l\n" + + "\036GetPrivateOfferDocumentRequest\022J\n" + + "\004name\030\001 \001(\tB<\340A\002\372A6\n" + + "4commerceproducer.googleapis.com/PrivateOfferDocument\"\322\001\n" + + "!CreatePrivateOfferDocumentRequest\022L\n" + + "\006parent\030\001 \001(" + + "\tB<\340A\002\372A6\0224commerceproducer.googleapis.com/PrivateOfferDocument\022_\n" + + "\026private_offer_document\030\003 \001(\0132:.google.cloud.comme" + + "rceproducer.v1beta.PrivateOfferDocumentB\003\340A\002\"\272\001\n" + + "!UpdatePrivateOfferDocumentRequest\022_\n" + + "\026private_offer_document\030\001 \001(\0132:.goo" + + "gle.cloud.commerceproducer.v1beta.PrivateOfferDocumentB\003\340A\002\0224\n" + + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\"o\n" + + "!DeletePrivateOfferDocumentRequest\022J\n" + + "\004name\030\001 \001(\tB<\340A\002\372A6\n" + + "4commerceproducer.googleapis.com/PrivateOfferDocument\"\207\001\n" + + "\023ListServicesRequest\022?\n" + + "\006parent\030\001 \001(" + + "\tB/\340A\002\372A)\022\'commerceproducer.googleapis.com/Service\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"p\n" + + "\024ListServicesResponse\022?\n" + + "\010services\030\001" + + " \003(\0132-.google.cloud.commerceproducer.v1beta.Service\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\230\001\n" + + "\021GetServiceRequest\022=\n" + + "\004name\030\001 \001(\tB/\340A\002\372A)\n" + + "\'commerceproducer.googleapis.com/Service\022D\n" + + "\004view\030\002" + + " \001(\01621.google.cloud.commerceproducer.v1beta.ServiceViewB\003\340A\001\"\277\001\n" + + "\031ListStandardOffersRequest\022E\n" + + "\006parent\030\001 \001(\tB" + + "5\340A\002\372A/\022-commerceproducer.googleapis.com/StandardOffer\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\022\025\n" + + "\010order_by\030\005 \001(\tB\003\340A\001\"\203\001\n" + + "\032ListStandardOffersResponse\022L\n" + + "\017standard_offers\030\001 " + + "\003(\01323.google.cloud.commerceproducer.v1beta.StandardOffer\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\252\001\n" + + "\027GetStandardOfferRequest\022C\n" + + "\004name\030\001 \001(\tB5\340A\002\372A/\n" + + "-commerceproducer.googleapis.com/StandardOffer\022J\n" + + "\004view\030\002 \001(\01627.googl" + + "e.cloud.commerceproducer.v1beta.StandardOfferViewB\003\340A\001\"\177\n" + + "\017ListSkusRequest\022;\n" + + "\006parent\030\001 \001(" + + "\tB+\340A\002\372A%\022#commerceproducer.googleapis.com/Sku\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"d\n" + + "\020ListSkusResponse\0227\n" + + "\004skus\030\001 \003(\0132).google.cloud.commerceproducer.v1beta.Sku\022\027\n" + + "\017next_page_token\030\002 \001(\t\"J\n\r" + + "GetSkuRequest\0229\n" + + "\004name\030\001 \001(\tB+\340A\002\372A%\n" + + "#commerceproducer.googleapis.com/Sku\"T\n" + + "\022GetSkuGroupRequest\022>\n" + + "\004name\030\001 \001(\tB0\340A\002\372A*\n" + + "(commerceproducer.googleapis.com/SkuGroup\"\211\001\n" + + "\024ListSkuGroupsRequest\022@\n" + + "\006parent\030\001 \001(" + + "\tB0\340A\002\372A*\022(commerceproducer.googleapis.com/SkuGroup\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"t\n" + + "\025ListSkuGroupsResponse\022B\n\n" + + "sku_groups\030\001 \003(\0132..google.cloud.commerceproducer.v1beta.SkuGroup\022\027\n" + + "\017next_page_token\030\002 \001(\t*q\n" + + "\020PrivateOfferView\022\"\n" + + "\036PRIVATE_OFFER_VIEW_UNSPECIFIED\020\000\022\034\n" + + "\030PRIVATE_OFFER_VIEW_BASIC\020\001\022\033\n" + + "\027PRIVATE_OFFER_VIEW_FULL\020\002*u\n" + + "\021StandardOfferView\022#\n" + + "\037STANDARD_OFFER_VIEW_UNSPECIFIED\020\000\022\035\n" + + "\031STANDARD_OFFER_VIEW_BASIC\020\001\022\034\n" + + "\030STANDARD_OFFER_VIEW_FULL\020\002*Z\n" + + "\013ServiceView\022\034\n" + + "\030SERVICE_VIEW_UNSPECIFIED\020\000\022\026\n" + + "\022SERVICE_VIEW_BASIC\020\001\022\025\n" + + "\021SERVICE_VIEW_FULL\020\0022\304#\n" + + "\023CommerceTransaction\022\310\001\n" + + "\014ListServices\0229.google.cloud.commerceproducer.v1beta.ListServ" + + "icesRequest\032:.google.cloud.commerceprodu" + + "cer.v1beta.ListServicesResponse\"A\332A\006pare" + + "nt\202\323\344\223\0022\0220/v1beta/{parent=projects/*/locations/*}/services\022\265\001\n\n" + + "GetService\0227.google.cloud.commerceproducer.v1beta.GetServ" + + "iceRequest\032-.google.cloud.commerceproduc" + + "er.v1beta.Service\"?\332A\004name\202\323\344\223\0022\0220/v1bet" + + "a/{name=projects/*/locations/*/services/*}\022\334\001\n" + + "\021ListPrivateOffers\022>.google.cloud.commerceproducer.v1beta.ListPrivateOffer" + + "sRequest\032?.google.cloud.commerceproducer" + + ".v1beta.ListPrivateOffersResponse\"F\332A\006pa" + + "rent\202\323\344\223\0027\0225/v1beta/{parent=projects/*/locations/*}/privateOffers\022\311\001\n" + + "\017GetPrivateOffer\022<.google.cloud.commerceproducer.v1" + + "beta.GetPrivateOfferRequest\0322.google.cloud.commerceproducer.v1beta.PrivateOffer\"" + + "D\332A\004name\202\323\344\223\0027\0225/v1beta/{name=projects/*/locations/*/privateOffers/*}\022\327\001\n" + + "\022CreatePrivateOffer\022?.google.cloud.commerceprod" + + "ucer.v1beta.CreatePrivateOfferRequest\0322.google.cloud.commerceproducer.v1beta.Pri" + + "vateOffer\"L\202\323\344\223\002F\"5/v1beta/{parent=projects/*/locations/*}/privateOffers:\r" + + "private_offer\022\201\002\n" + + "\022UpdatePrivateOffer\022?.google.cloud.commerceproducer.v1beta.UpdatePriv" + + "ateOfferRequest\0322.google.cloud.commercep" + + "roducer.v1beta.PrivateOffer\"v\332A\031private_" + + "offer,update_mask\202\323\344\223\002T2C/v1beta/{privat" + + "e_offer.name=projects/*/locations/*/privateOffers/*}:\r" + + "private_offer\022\334\001\n" + + "\023PublishPrivateOffer\022@.google.cloud.commerceprodu" + + "cer.v1beta.PublishPrivateOfferRequest\0322.google.cloud.commerceproducer.v1beta.Pri" + + "vateOffer\"O\332A\004name\202\323\344\223\002B\"=/v1beta/{name=" + + "projects/*/locations/*/privateOffers/*}:publish:\001*\022\331\001\n" + + "\022CancelPrivateOffer\022?.google.cloud.commerceproducer.v1beta.CancelP" + + "rivateOfferRequest\0322.google.cloud.commer" + + "ceproducer.v1beta.PrivateOffer\"N\332A\004name\202" + + "\323\344\223\002A\" + * Message for creating a PrivateOfferDocument. + * + * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest} + */ +@com.google.protobuf.Generated +public final class CreatePrivateOfferDocumentRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) + CreatePrivateOfferDocumentRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CreatePrivateOfferDocumentRequest"); + } + + // Use CreatePrivateOfferDocumentRequest.newBuilder() to construct. + private CreatePrivateOfferDocumentRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreatePrivateOfferDocumentRequest() { + parent_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.Builder + .class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRIVATE_OFFER_DOCUMENT_FIELD_NUMBER = 3; + private com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument privateOfferDocument_; + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + @java.lang.Override + public boolean hasPrivateOfferDocument() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument() { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder() { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + + 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getPrivateOfferDocument()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(3, getPrivateOfferDocument()); + } + 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.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest other = + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (hasPrivateOfferDocument() != other.hasPrivateOfferDocument()) return false; + if (hasPrivateOfferDocument()) { + if (!getPrivateOfferDocument().equals(other.getPrivateOfferDocument())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + if (hasPrivateOfferDocument()) { + hash = (37 * hash) + PRIVATE_OFFER_DOCUMENT_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOfferDocument().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + 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.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating a PrivateOfferDocument.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPrivateOfferDocumentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + privateOfferDocument_ = null; + if (privateOfferDocumentBuilder_ != null) { + privateOfferDocumentBuilder_.dispose(); + privateOfferDocumentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest build() { + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + buildPartial() { + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest result = + new com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.privateOfferDocument_ = + privateOfferDocumentBuilder_ == null + ? privateOfferDocument_ + : privateOfferDocumentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPrivateOfferDocument()) { + mergePrivateOfferDocument(other.getPrivateOfferDocument()); + } + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: + { + input.readMessage( + internalGetPrivateOfferDocumentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument privateOfferDocument_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + privateOfferDocumentBuilder_; + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + public boolean hasPrivateOfferDocument() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument() { + if (privateOfferDocumentBuilder_ == null) { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } else { + return privateOfferDocumentBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + privateOfferDocument_ = value; + } else { + privateOfferDocumentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder builderForValue) { + if (privateOfferDocumentBuilder_ == null) { + privateOfferDocument_ = builderForValue.build(); + } else { + privateOfferDocumentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && privateOfferDocument_ != null + && privateOfferDocument_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + .getDefaultInstance()) { + getPrivateOfferDocumentBuilder().mergeFrom(value); + } else { + privateOfferDocument_ = value; + } + } else { + privateOfferDocumentBuilder_.mergeFrom(value); + } + if (privateOfferDocument_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearPrivateOfferDocument() { + bitField0_ = (bitField0_ & ~0x00000002); + privateOfferDocument_ = null; + if (privateOfferDocumentBuilder_ != null) { + privateOfferDocumentBuilder_.dispose(); + privateOfferDocumentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder + getPrivateOfferDocumentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPrivateOfferDocumentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder() { + if (privateOfferDocumentBuilder_ != null) { + return privateOfferDocumentBuilder_.getMessageOrBuilder(); + } else { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + } + + /** + * + * + *
+     * Required. The resource being created.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + internalGetPrivateOfferDocumentFieldBuilder() { + if (privateOfferDocumentBuilder_ == null) { + privateOfferDocumentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder>( + getPrivateOfferDocument(), getParentForChildren(), isClean()); + privateOfferDocument_ = null; + } + return privateOfferDocumentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) + private static final com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreatePrivateOfferDocumentRequest 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.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferDocumentRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferDocumentRequestOrBuilder.java new file mode 100644 index 000000000000..2aabb3d08c74 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferDocumentRequestOrBuilder.java @@ -0,0 +1,102 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface CreatePrivateOfferDocumentRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + boolean hasPrivateOfferDocument(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument(); + + /** + * + * + *
+   * Required. The resource being created.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequest.java new file mode 100644 index 000000000000..30291c1bf35d --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequest.java @@ -0,0 +1,942 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for creating a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class CreatePrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) + CreatePrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CreatePrivateOfferRequest"); + } + + // Use CreatePrivateOfferRequest.newBuilder() to construct. + private CreatePrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreatePrivateOfferRequest() { + parent_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.Builder.class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRIVATE_OFFER_FIELD_NUMBER = 3; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer privateOffer_; + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + @java.lang.Override + public boolean hasPrivateOffer() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer() { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOfferOrBuilder() { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + + 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getPrivateOffer()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getPrivateOffer()); + } + 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.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (hasPrivateOffer() != other.hasPrivateOffer()) return false; + if (hasPrivateOffer()) { + if (!getPrivateOffer().equals(other.getPrivateOffer())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + if (hasPrivateOffer()) { + hash = (37 * hash) + PRIVATE_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOffer().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest 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.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPrivateOfferFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + privateOffer_ = null; + if (privateOfferBuilder_ != null) { + privateOfferBuilder_.dispose(); + privateOfferBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_CreatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.privateOffer_ = + privateOfferBuilder_ == null ? privateOffer_ : privateOfferBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasPrivateOffer()) { + mergePrivateOffer(other.getPrivateOffer()); + } + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: + { + input.readMessage( + internalGetPrivateOfferFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Value for parent.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer privateOffer_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + privateOfferBuilder_; + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + public boolean hasPrivateOffer() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer() { + if (privateOfferBuilder_ == null) { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } else { + return privateOfferBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOffer(com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOfferBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + privateOffer_ = value; + } else { + privateOfferBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder builderForValue) { + if (privateOfferBuilder_ == null) { + privateOffer_ = builderForValue.build(); + } else { + privateOfferBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergePrivateOffer(com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOfferBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && privateOffer_ != null + && privateOffer_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance()) { + getPrivateOfferBuilder().mergeFrom(value); + } else { + privateOffer_ = value; + } + } else { + privateOfferBuilder_.mergeFrom(value); + } + if (privateOffer_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearPrivateOffer() { + bitField0_ = (bitField0_ & ~0x00000002); + privateOffer_ = null; + if (privateOfferBuilder_ != null) { + privateOfferBuilder_.dispose(); + privateOfferBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder getPrivateOfferBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPrivateOfferFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder + getPrivateOfferOrBuilder() { + if (privateOfferBuilder_ != null) { + return privateOfferBuilder_.getMessageOrBuilder(); + } else { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + } + + /** + * + * + *
+     * Required. The resource being created
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + internalGetPrivateOfferFieldBuilder() { + if (privateOfferBuilder_ == null) { + privateOfferBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder>( + getPrivateOffer(), getParentForChildren(), isClean()); + privateOffer_ = null; + } + return privateOfferBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreatePrivateOfferRequest 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.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..39e480586e93 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/CreatePrivateOfferRequestOrBuilder.java @@ -0,0 +1,101 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface CreatePrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Value for parent.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + boolean hasPrivateOffer(); + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer(); + + /** + * + * + *
+   * Required. The resource being created
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOfferOrBuilder(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequest.java new file mode 100644 index 000000000000..736f0c8713c7 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequest.java @@ -0,0 +1,635 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for deleting a PrivateOfferDocument
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest} + */ +@com.google.protobuf.Generated +public final class DeletePrivateOfferDocumentRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) + DeletePrivateOfferDocumentRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "DeletePrivateOfferDocumentRequest"); + } + + // Use DeletePrivateOfferDocumentRequest.newBuilder() to construct. + private DeletePrivateOfferDocumentRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeletePrivateOfferDocumentRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.Builder + .class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + 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.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest other = + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) obj; + + if (!getName().equals(other.getName())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + 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.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for deleting a PrivateOfferDocument
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest build() { + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + buildPartial() { + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest result = + new com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) + private static final com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeletePrivateOfferDocumentRequest 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.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequestOrBuilder.java new file mode 100644 index 000000000000..9bdb32c8a390 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferDocumentRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface DeletePrivateOfferDocumentRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequest.java new file mode 100644 index 000000000000..1645848b31ac --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequest.java @@ -0,0 +1,723 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for deleting a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class DeletePrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) + DeletePrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "DeletePrivateOfferRequest"); + } + + // Use DeletePrivateOfferRequest.newBuilder() to construct. + private DeletePrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeletePrivateOfferRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 FORCE_FIELD_NUMBER = 2; + private boolean force_ = false; + + /** + * + * + *
+   * Optional. Indicates whether to cascade the delete to child resources.
+   * If false, the request fails if child resources exist.
+   * 
+ * + * bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (force_ != false) { + output.writeBool(2, force_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (force_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, force_); + } + 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.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (getForce() != other.getForce()) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + FORCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getForce()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest 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.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for deleting a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + force_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_DeletePrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.force_ = force_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getForce() != false) { + setForce(other.getForce()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + force_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean force_; + + /** + * + * + *
+     * Optional. Indicates whether to cascade the delete to child resources.
+     * If false, the request fails if child resources exist.
+     * 
+ * + * bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + @java.lang.Override + public boolean getForce() { + return force_; + } + + /** + * + * + *
+     * Optional. Indicates whether to cascade the delete to child resources.
+     * If false, the request fails if child resources exist.
+     * 
+ * + * bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The force to set. + * @return This builder for chaining. + */ + public Builder setForce(boolean value) { + + force_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Indicates whether to cascade the delete to child resources.
+     * If false, the request fails if child resources exist.
+     * 
+ * + * bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearForce() { + bitField0_ = (bitField0_ & ~0x00000002); + force_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeletePrivateOfferRequest 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.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..1e5a1f77e147 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/DeletePrivateOfferRequestOrBuilder.java @@ -0,0 +1,72 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface DeletePrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. Indicates whether to cascade the delete to child resources.
+   * If false, the request fails if child resources exist.
+   * 
+ * + * bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The force. + */ + boolean getForce(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequest.java new file mode 100644 index 000000000000..10991198212a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequest.java @@ -0,0 +1,626 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a PrivateOfferDocument
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest} + */ +@com.google.protobuf.Generated +public final class GetPrivateOfferDocumentRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) + GetPrivateOfferDocumentRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetPrivateOfferDocumentRequest"); + } + + // Use GetPrivateOfferDocumentRequest.newBuilder() to construct. + private GetPrivateOfferDocumentRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetPrivateOfferDocumentRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + 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.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest other = + (com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) obj; + + if (!getName().equals(other.getName())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest 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.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a PrivateOfferDocument
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest build() { + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest result = + new com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetPrivateOfferDocumentRequest 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.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequestOrBuilder.java new file mode 100644 index 000000000000..18449884fe68 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferDocumentRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetPrivateOfferDocumentRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequest.java new file mode 100644 index 000000000000..53a152f3f445 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequest.java @@ -0,0 +1,802 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class GetPrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) + GetPrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetPrivateOfferRequest"); + } + + // Use GetPrivateOfferRequest.newBuilder() to construct. + private GetPrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetPrivateOfferRequest() { + name_ = ""; + view_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 VIEW_FIELD_NUMBER = 2; + private int view_ = 0; + + /** + * + * + *
+   * Optional. The view of the PrivateOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+   * Optional. The view of the PrivateOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferView getView() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferView result = + com.google.cloud.commerceproducer.v1beta.PrivateOfferView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferView.UNRECOGNIZED + : result; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferView.PRIVATE_OFFER_VIEW_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, view_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferView.PRIVATE_OFFER_VIEW_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, view_); + } + 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.cloud.commerceproducer.v1beta.GetPrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (view_ != other.view_) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VIEW_FIELD_NUMBER; + hash = (53 * hash) + view_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest 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.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetPrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + view_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetPrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.view_ = view_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.view_ != 0) { + setViewValue(other.getViewValue()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + view_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int view_ = 0; + + /** + * + * + *
+     * Optional. The view of the PrivateOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+     * Optional. The view of the PrivateOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for view to set. + * @return This builder for chaining. + */ + public Builder setViewValue(int value) { + view_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the PrivateOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferView getView() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferView result = + com.google.cloud.commerceproducer.v1beta.PrivateOfferView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferView.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Optional. The view of the PrivateOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The view to set. + * @return This builder for chaining. + */ + public Builder setView(com.google.cloud.commerceproducer.v1beta.PrivateOfferView value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + view_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the PrivateOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearView() { + bitField0_ = (bitField0_ & ~0x00000002); + view_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetPrivateOfferRequest 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.cloud.commerceproducer.v1beta.GetPrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..03953058d3d3 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetPrivateOfferRequestOrBuilder.java @@ -0,0 +1,90 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetPrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. The view of the PrivateOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + int getViewValue(); + + /** + * + * + *
+   * Optional. The view of the PrivateOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferView getView(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequest.java new file mode 100644 index 000000000000..648f8c9657f1 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequest.java @@ -0,0 +1,795 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a Service
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetServiceRequest} + */ +@com.google.protobuf.Generated +public final class GetServiceRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetServiceRequest) + GetServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetServiceRequest"); + } + + // Use GetServiceRequest.newBuilder() to construct. + private GetServiceRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetServiceRequest() { + name_ = ""; + view_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest.class, + com.google.cloud.commerceproducer.v1beta.GetServiceRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 VIEW_FIELD_NUMBER = 2; + private int view_ = 0; + + /** + * + * + *
+   * Optional. The view of the Service to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+   * Optional. The view of the Service to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ServiceView getView() { + com.google.cloud.commerceproducer.v1beta.ServiceView result = + com.google.cloud.commerceproducer.v1beta.ServiceView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.ServiceView.UNRECOGNIZED + : result; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.ServiceView.SERVICE_VIEW_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, view_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.ServiceView.SERVICE_VIEW_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, view_); + } + 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.cloud.commerceproducer.v1beta.GetServiceRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetServiceRequest other = + (com.google.cloud.commerceproducer.v1beta.GetServiceRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (view_ != other.view_) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VIEW_FIELD_NUMBER; + hash = (53 * hash) + view_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest 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.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetServiceRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Service
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetServiceRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetServiceRequest) + com.google.cloud.commerceproducer.v1beta.GetServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetServiceRequest.class, + com.google.cloud.commerceproducer.v1beta.GetServiceRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.GetServiceRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + view_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetServiceRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetServiceRequest getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetServiceRequest build() { + com.google.cloud.commerceproducer.v1beta.GetServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetServiceRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetServiceRequest result = + new com.google.cloud.commerceproducer.v1beta.GetServiceRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.GetServiceRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.view_ = view_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.GetServiceRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.GetServiceRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.GetServiceRequest other) { + if (other == com.google.cloud.commerceproducer.v1beta.GetServiceRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.view_ != 0) { + setViewValue(other.getViewValue()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + view_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int view_ = 0; + + /** + * + * + *
+     * Optional. The view of the Service to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+     * Optional. The view of the Service to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for view to set. + * @return This builder for chaining. + */ + public Builder setViewValue(int value) { + view_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the Service to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ServiceView getView() { + com.google.cloud.commerceproducer.v1beta.ServiceView result = + com.google.cloud.commerceproducer.v1beta.ServiceView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.ServiceView.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Optional. The view of the Service to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The view to set. + * @return This builder for chaining. + */ + public Builder setView(com.google.cloud.commerceproducer.v1beta.ServiceView value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + view_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the Service to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearView() { + bitField0_ = (bitField0_ & ~0x00000002); + view_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetServiceRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetServiceRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetServiceRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.GetServiceRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetServiceRequest 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.cloud.commerceproducer.v1beta.GetServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequestOrBuilder.java new file mode 100644 index 000000000000..766d9819575b --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetServiceRequestOrBuilder.java @@ -0,0 +1,90 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetServiceRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. The view of the Service to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + int getViewValue(); + + /** + * + * + *
+   * Optional. The view of the Service to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.ServiceView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + com.google.cloud.commerceproducer.v1beta.ServiceView getView(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequest.java new file mode 100644 index 000000000000..32f74464d97e --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequest.java @@ -0,0 +1,611 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a SkuGroup
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetSkuGroupRequest} + */ +@com.google.protobuf.Generated +public final class GetSkuGroupRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) + GetSkuGroupRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetSkuGroupRequest"); + } + + // Use GetSkuGroupRequest.newBuilder() to construct. + private GetSkuGroupRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetSkuGroupRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.class, + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + 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.cloud.commerceproducer.v1beta.GetSkuGroupRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest other = + (com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) obj; + + if (!getName().equals(other.getName())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest 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.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetSkuGroupRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a SkuGroup
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetSkuGroupRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.class, + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuGroupRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest build() { + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest result = + new com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest other) { + if (other == com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetSkuGroupRequest 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.cloud.commerceproducer.v1beta.GetSkuGroupRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequestOrBuilder.java new file mode 100644 index 000000000000..c6b2676f7d9a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuGroupRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetSkuGroupRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetSkuGroupRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequest.java new file mode 100644 index 000000000000..4f169fe97d15 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequest.java @@ -0,0 +1,611 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a Sku
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetSkuRequest} + */ +@com.google.protobuf.Generated +public final class GetSkuRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetSkuRequest) + GetSkuRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetSkuRequest"); + } + + // Use GetSkuRequest.newBuilder() to construct. + private GetSkuRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetSkuRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest.class, + com.google.cloud.commerceproducer.v1beta.GetSkuRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + 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.cloud.commerceproducer.v1beta.GetSkuRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetSkuRequest other = + (com.google.cloud.commerceproducer.v1beta.GetSkuRequest) obj; + + if (!getName().equals(other.getName())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest 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.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetSkuRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Sku
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetSkuRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetSkuRequest) + com.google.cloud.commerceproducer.v1beta.GetSkuRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetSkuRequest.class, + com.google.cloud.commerceproducer.v1beta.GetSkuRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.GetSkuRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetSkuRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuRequest getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetSkuRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuRequest build() { + com.google.cloud.commerceproducer.v1beta.GetSkuRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetSkuRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetSkuRequest result = + new com.google.cloud.commerceproducer.v1beta.GetSkuRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.GetSkuRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.GetSkuRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.GetSkuRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.GetSkuRequest other) { + if (other == com.google.cloud.commerceproducer.v1beta.GetSkuRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetSkuRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetSkuRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetSkuRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.GetSkuRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetSkuRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetSkuRequest 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.cloud.commerceproducer.v1beta.GetSkuRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequestOrBuilder.java new file mode 100644 index 000000000000..952fa1e0804c --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetSkuRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetSkuRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetSkuRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequest.java new file mode 100644 index 000000000000..20a89b50f60d --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequest.java @@ -0,0 +1,804 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for getting a StandardOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetStandardOfferRequest} + */ +@com.google.protobuf.Generated +public final class GetStandardOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) + GetStandardOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetStandardOfferRequest"); + } + + // Use GetStandardOfferRequest.newBuilder() to construct. + private GetStandardOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetStandardOfferRequest() { + name_ = ""; + view_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 VIEW_FIELD_NUMBER = 2; + private int view_ = 0; + + /** + * + * + *
+   * Optional. The view of the StandardOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+   * Optional. The view of the StandardOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOfferView getView() { + com.google.cloud.commerceproducer.v1beta.StandardOfferView result = + com.google.cloud.commerceproducer.v1beta.StandardOfferView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.StandardOfferView.UNRECOGNIZED + : result; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.StandardOfferView + .STANDARD_OFFER_VIEW_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, view_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (view_ + != com.google.cloud.commerceproducer.v1beta.StandardOfferView + .STANDARD_OFFER_VIEW_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, view_); + } + 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.cloud.commerceproducer.v1beta.GetStandardOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (view_ != other.view_) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VIEW_FIELD_NUMBER; + hash = (53 * hash) + view_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest 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.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.GetStandardOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a StandardOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.GetStandardOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + view_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_GetStandardOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.view_ = view_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.view_ != 0) { + setViewValue(other.getViewValue()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + view_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int view_ = 0; + + /** + * + * + *
+     * Optional. The view of the StandardOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + @java.lang.Override + public int getViewValue() { + return view_; + } + + /** + * + * + *
+     * Optional. The view of the StandardOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for view to set. + * @return This builder for chaining. + */ + public Builder setViewValue(int value) { + view_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the StandardOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOfferView getView() { + com.google.cloud.commerceproducer.v1beta.StandardOfferView result = + com.google.cloud.commerceproducer.v1beta.StandardOfferView.forNumber(view_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.StandardOfferView.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Optional. The view of the StandardOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The view to set. + * @return This builder for chaining. + */ + public Builder setView(com.google.cloud.commerceproducer.v1beta.StandardOfferView value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + view_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The view of the StandardOffer to return.
+     * If unspecified, the default view is BASIC.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearView() { + bitField0_ = (bitField0_ & ~0x00000002); + view_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetStandardOfferRequest 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.cloud.commerceproducer.v1beta.GetStandardOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequestOrBuilder.java new file mode 100644 index 000000000000..d92062f49f0b --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/GetStandardOfferRequestOrBuilder.java @@ -0,0 +1,90 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface GetStandardOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.GetStandardOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. The view of the StandardOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for view. + */ + int getViewValue(); + + /** + * + * + *
+   * Optional. The view of the StandardOffer to return.
+   * If unspecified, the default view is BASIC.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOfferView view = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The view. + */ + com.google.cloud.commerceproducer.v1beta.StandardOfferView getView(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequest.java new file mode 100644 index 000000000000..3005810882ba --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequest.java @@ -0,0 +1,952 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of PrivateOfferDocuments
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest} + */ +@com.google.protobuf.Generated +public final class ListPrivateOfferDocumentsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) + ListPrivateOfferDocumentsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListPrivateOfferDocumentsRequest"); + } + + // Use ListPrivateOfferDocumentsRequest.newBuilder() to construct. + private ListPrivateOfferDocumentsRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListPrivateOfferDocumentsRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.Builder + .class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListPrivateOfferDocumentsRequest.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListPrivateOfferDocumentsRequest.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest other = + (com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of PrivateOfferDocuments
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest build() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest result = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListPrivateOfferDocumentsRequest.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOfferDocumentsRequest.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOfferDocumentsRequest.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOfferDocumentsRequest.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOfferDocumentsRequest.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListPrivateOfferDocumentsRequest 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequestOrBuilder.java new file mode 100644 index 000000000000..5f118ef8c12c --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsRequestOrBuilder.java @@ -0,0 +1,107 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListPrivateOfferDocumentsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListPrivateOfferDocumentsRequest.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListPrivateOfferDocumentsRequest.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponse.java new file mode 100644 index 000000000000..c48b6dbbaef4 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponse.java @@ -0,0 +1,1219 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing PrivateOfferDocuments
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse} + */ +@com.google.protobuf.Generated +public final class ListPrivateOfferDocumentsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) + ListPrivateOfferDocumentsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListPrivateOfferDocumentsResponse"); + } + + // Use ListPrivateOfferDocumentsResponse.newBuilder() to construct. + private ListPrivateOfferDocumentsResponse( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListPrivateOfferDocumentsResponse() { + privateOfferDocuments_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.Builder + .class); + } + + public static final int PRIVATE_OFFER_DOCUMENTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List + privateOfferDocuments_; + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + @java.lang.Override + public java.util.List + getPrivateOfferDocumentsList() { + return privateOfferDocuments_; + } + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + @java.lang.Override + public java.util.List< + ? extends com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + getPrivateOfferDocumentsOrBuilderList() { + return privateOfferDocuments_; + } + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + @java.lang.Override + public int getPrivateOfferDocumentsCount() { + return privateOfferDocuments_.size(); + } + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocuments( + int index) { + return privateOfferDocuments_.get(index); + } + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentsOrBuilder(int index) { + return privateOfferDocuments_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < privateOfferDocuments_.size(); i++) { + output.writeMessage(1, privateOfferDocuments_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < privateOfferDocuments_.size(); i++) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, privateOfferDocuments_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse other = + (com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) obj; + + if (!getPrivateOfferDocumentsList().equals(other.getPrivateOfferDocumentsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getPrivateOfferDocumentsCount() > 0) { + hash = (37 * hash) + PRIVATE_OFFER_DOCUMENTS_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOfferDocumentsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing PrivateOfferDocuments
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (privateOfferDocumentsBuilder_ == null) { + privateOfferDocuments_ = java.util.Collections.emptyList(); + } else { + privateOfferDocuments_ = null; + privateOfferDocumentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOfferDocumentsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse build() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse result = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse result) { + if (privateOfferDocumentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + privateOfferDocuments_ = java.util.Collections.unmodifiableList(privateOfferDocuments_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.privateOfferDocuments_ = privateOfferDocuments_; + } else { + result.privateOfferDocuments_ = privateOfferDocumentsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + .getDefaultInstance()) return this; + if (privateOfferDocumentsBuilder_ == null) { + if (!other.privateOfferDocuments_.isEmpty()) { + if (privateOfferDocuments_.isEmpty()) { + privateOfferDocuments_ = other.privateOfferDocuments_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.addAll(other.privateOfferDocuments_); + } + onChanged(); + } + } else { + if (!other.privateOfferDocuments_.isEmpty()) { + if (privateOfferDocumentsBuilder_.isEmpty()) { + privateOfferDocumentsBuilder_.dispose(); + privateOfferDocumentsBuilder_ = null; + privateOfferDocuments_ = other.privateOfferDocuments_; + bitField0_ = (bitField0_ & ~0x00000001); + privateOfferDocumentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetPrivateOfferDocumentsFieldBuilder() + : null; + } else { + privateOfferDocumentsBuilder_.addAllMessages(other.privateOfferDocuments_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.parser(), + extensionRegistry); + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.add(m); + } else { + privateOfferDocumentsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List + privateOfferDocuments_ = java.util.Collections.emptyList(); + + private void ensurePrivateOfferDocumentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + privateOfferDocuments_ = + new java.util.ArrayList( + privateOfferDocuments_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + privateOfferDocumentsBuilder_; + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public java.util.List + getPrivateOfferDocumentsList() { + if (privateOfferDocumentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(privateOfferDocuments_); + } else { + return privateOfferDocumentsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public int getPrivateOfferDocumentsCount() { + if (privateOfferDocumentsBuilder_ == null) { + return privateOfferDocuments_.size(); + } else { + return privateOfferDocumentsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocuments( + int index) { + if (privateOfferDocumentsBuilder_ == null) { + return privateOfferDocuments_.get(index); + } else { + return privateOfferDocumentsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder setPrivateOfferDocuments( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.set(index, value); + onChanged(); + } else { + privateOfferDocumentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder setPrivateOfferDocuments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder builderForValue) { + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.set(index, builderForValue.build()); + onChanged(); + } else { + privateOfferDocumentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder addPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.add(value); + onChanged(); + } else { + privateOfferDocumentsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder addPrivateOfferDocuments( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.add(index, value); + onChanged(); + } else { + privateOfferDocumentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder addPrivateOfferDocuments( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder builderForValue) { + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.add(builderForValue.build()); + onChanged(); + } else { + privateOfferDocumentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder addPrivateOfferDocuments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder builderForValue) { + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.add(index, builderForValue.build()); + onChanged(); + } else { + privateOfferDocumentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder addAllPrivateOfferDocuments( + java.lang.Iterable + values) { + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, privateOfferDocuments_); + onChanged(); + } else { + privateOfferDocumentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder clearPrivateOfferDocuments() { + if (privateOfferDocumentsBuilder_ == null) { + privateOfferDocuments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + privateOfferDocumentsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public Builder removePrivateOfferDocuments(int index) { + if (privateOfferDocumentsBuilder_ == null) { + ensurePrivateOfferDocumentsIsMutable(); + privateOfferDocuments_.remove(index); + onChanged(); + } else { + privateOfferDocumentsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder + getPrivateOfferDocumentsBuilder(int index) { + return internalGetPrivateOfferDocumentsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentsOrBuilder(int index) { + if (privateOfferDocumentsBuilder_ == null) { + return privateOfferDocuments_.get(index); + } else { + return privateOfferDocumentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public java.util.List< + ? extends com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + getPrivateOfferDocumentsOrBuilderList() { + if (privateOfferDocumentsBuilder_ != null) { + return privateOfferDocumentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(privateOfferDocuments_); + } + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder + addPrivateOfferDocumentsBuilder() { + return internalGetPrivateOfferDocumentsFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder + addPrivateOfferDocumentsBuilder(int index) { + return internalGetPrivateOfferDocumentsFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of PrivateOfferDocuments.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + public java.util.List + getPrivateOfferDocumentsBuilderList() { + return internalGetPrivateOfferDocumentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + internalGetPrivateOfferDocumentsFieldBuilder() { + if (privateOfferDocumentsBuilder_ == null) { + privateOfferDocumentsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder>( + privateOfferDocuments_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + privateOfferDocuments_ = null; + } + return privateOfferDocumentsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListPrivateOfferDocumentsResponse 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.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponseOrBuilder.java new file mode 100644 index 000000000000..8b458c7f43d1 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOfferDocumentsResponseOrBuilder.java @@ -0,0 +1,124 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListPrivateOfferDocumentsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + java.util.List + getPrivateOfferDocumentsList(); + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocuments(int index); + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + int getPrivateOfferDocumentsCount(); + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + java.util.List + getPrivateOfferDocumentsOrBuilderList(); + + /** + * + * + *
+   * The list of PrivateOfferDocuments.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_documents = 1; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentsOrBuilder(int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequest.java new file mode 100644 index 000000000000..0018554d2e2a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequest.java @@ -0,0 +1,1383 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of PrivateOffers
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest} + */ +@com.google.protobuf.Generated +public final class ListPrivateOffersRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) + ListPrivateOffersRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListPrivateOffersRequest"); + } + + // Use ListPrivateOffersRequest.newBuilder() to construct. + private ListPrivateOffersRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListPrivateOffersRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListPrivateOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListPrivateOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Only supports filtering by:
+   *
+   * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + 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(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Only supports filtering by:
+   *
+   * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Only supports ordering by:
+   *
+   * * `update_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + 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(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Only supports ordering by:
+   *
+   * * `update_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + 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.cloud.commerceproducer.v1beta.ListPrivateOffersRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest other = + (com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest 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.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListPrivateOffersRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of PrivateOffers
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest build() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest result = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListPrivateOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListPrivateOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Only supports filtering by:
+     *
+     * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Only supports filtering by:
+     *
+     * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Only supports filtering by:
+     *
+     * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Only supports filtering by:
+     *
+     * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Only supports filtering by:
+     *
+     * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Only supports ordering by:
+     *
+     * * `update_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Only supports ordering by:
+     *
+     * * `update_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Only supports ordering by:
+     *
+     * * `update_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Only supports ordering by:
+     *
+     * * `update_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Only supports ordering by:
+     *
+     * * `update_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListPrivateOffersRequest 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.cloud.commerceproducer.v1beta.ListPrivateOffersRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequestOrBuilder.java new file mode 100644 index 000000000000..7d7f54b1daf7 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersRequestOrBuilder.java @@ -0,0 +1,177 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListPrivateOffersRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListPrivateOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListPrivateOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Only supports filtering by:
+   *
+   * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Only supports filtering by:
+   *
+   * * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Only supports ordering by:
+   *
+   * * `update_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Only supports ordering by:
+   *
+   * * `update_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponse.java new file mode 100644 index 000000000000..47a52c388a5e --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponse.java @@ -0,0 +1,1147 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing PrivateOffers
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse} + */ +@com.google.protobuf.Generated +public final class ListPrivateOffersResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) + ListPrivateOffersResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListPrivateOffersResponse"); + } + + // Use ListPrivateOffersResponse.newBuilder() to construct. + private ListPrivateOffersResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListPrivateOffersResponse() { + privateOffers_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.Builder.class); + } + + public static final int PRIVATE_OFFERS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List privateOffers_; + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + @java.lang.Override + public java.util.List + getPrivateOffersList() { + return privateOffers_; + } + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + @java.lang.Override + public java.util.List + getPrivateOffersOrBuilderList() { + return privateOffers_; + } + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + @java.lang.Override + public int getPrivateOffersCount() { + return privateOffers_.size(); + } + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffers(int index) { + return privateOffers_.get(index); + } + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOffersOrBuilder( + int index) { + return privateOffers_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < privateOffers_.size(); i++) { + output.writeMessage(1, privateOffers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < privateOffers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, privateOffers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListPrivateOffersResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse other = + (com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) obj; + + if (!getPrivateOffersList().equals(other.getPrivateOffersList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getPrivateOffersCount() > 0) { + hash = (37 * hash) + PRIVATE_OFFERS_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOffersList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse 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.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListPrivateOffersResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing PrivateOffers
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.class, + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (privateOffersBuilder_ == null) { + privateOffers_ = java.util.Collections.emptyList(); + } else { + privateOffers_ = null; + privateOffersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListPrivateOffersResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse build() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse result = + new com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse result) { + if (privateOffersBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + privateOffers_ = java.util.Collections.unmodifiableList(privateOffers_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.privateOffers_ = privateOffers_; + } else { + result.privateOffers_ = privateOffersBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + .getDefaultInstance()) return this; + if (privateOffersBuilder_ == null) { + if (!other.privateOffers_.isEmpty()) { + if (privateOffers_.isEmpty()) { + privateOffers_ = other.privateOffers_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePrivateOffersIsMutable(); + privateOffers_.addAll(other.privateOffers_); + } + onChanged(); + } + } else { + if (!other.privateOffers_.isEmpty()) { + if (privateOffersBuilder_.isEmpty()) { + privateOffersBuilder_.dispose(); + privateOffersBuilder_ = null; + privateOffers_ = other.privateOffers_; + bitField0_ = (bitField0_ & ~0x00000001); + privateOffersBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetPrivateOffersFieldBuilder() + : null; + } else { + privateOffersBuilder_.addAllMessages(other.privateOffers_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.PrivateOffer m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.parser(), + extensionRegistry); + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + privateOffers_.add(m); + } else { + privateOffersBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List privateOffers_ = + java.util.Collections.emptyList(); + + private void ensurePrivateOffersIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + privateOffers_ = + new java.util.ArrayList( + privateOffers_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + privateOffersBuilder_; + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public java.util.List + getPrivateOffersList() { + if (privateOffersBuilder_ == null) { + return java.util.Collections.unmodifiableList(privateOffers_); + } else { + return privateOffersBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public int getPrivateOffersCount() { + if (privateOffersBuilder_ == null) { + return privateOffers_.size(); + } else { + return privateOffersBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffers(int index) { + if (privateOffersBuilder_ == null) { + return privateOffers_.get(index); + } else { + return privateOffersBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder setPrivateOffers( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOffersIsMutable(); + privateOffers_.set(index, value); + onChanged(); + } else { + privateOffersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder setPrivateOffers( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder builderForValue) { + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + privateOffers_.set(index, builderForValue.build()); + onChanged(); + } else { + privateOffersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder addPrivateOffers(com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOffersIsMutable(); + privateOffers_.add(value); + onChanged(); + } else { + privateOffersBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder addPrivateOffers( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePrivateOffersIsMutable(); + privateOffers_.add(index, value); + onChanged(); + } else { + privateOffersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder addPrivateOffers( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder builderForValue) { + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + privateOffers_.add(builderForValue.build()); + onChanged(); + } else { + privateOffersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder addPrivateOffers( + int index, com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder builderForValue) { + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + privateOffers_.add(index, builderForValue.build()); + onChanged(); + } else { + privateOffersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder addAllPrivateOffers( + java.lang.Iterable + values) { + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, privateOffers_); + onChanged(); + } else { + privateOffersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder clearPrivateOffers() { + if (privateOffersBuilder_ == null) { + privateOffers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + privateOffersBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public Builder removePrivateOffers(int index) { + if (privateOffersBuilder_ == null) { + ensurePrivateOffersIsMutable(); + privateOffers_.remove(index); + onChanged(); + } else { + privateOffersBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder getPrivateOffersBuilder( + int index) { + return internalGetPrivateOffersFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOffersOrBuilder( + int index) { + if (privateOffersBuilder_ == null) { + return privateOffers_.get(index); + } else { + return privateOffersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public java.util.List + getPrivateOffersOrBuilderList() { + if (privateOffersBuilder_ != null) { + return privateOffersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(privateOffers_); + } + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder addPrivateOffersBuilder() { + return internalGetPrivateOffersFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder addPrivateOffersBuilder( + int index) { + return internalGetPrivateOffersFieldBuilder() + .addBuilder( + index, com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of PrivateOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + public java.util.List + getPrivateOffersBuilderList() { + return internalGetPrivateOffersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + internalGetPrivateOffersFieldBuilder() { + if (privateOffersBuilder_ == null) { + privateOffersBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder>( + privateOffers_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + privateOffers_ = null; + } + return privateOffersBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListPrivateOffersResponse 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.cloud.commerceproducer.v1beta.ListPrivateOffersResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponseOrBuilder.java new file mode 100644 index 000000000000..322eb39a2273 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListPrivateOffersResponseOrBuilder.java @@ -0,0 +1,113 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListPrivateOffersResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + java.util.List getPrivateOffersList(); + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffers(int index); + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + int getPrivateOffersCount(); + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + java.util.List + getPrivateOffersOrBuilderList(); + + /** + * + * + *
+   * The list of PrivateOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer private_offers = 1; + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOffersOrBuilder( + int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequest.java new file mode 100644 index 000000000000..a203c7f591ec --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequest.java @@ -0,0 +1,909 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of Services
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListServicesRequest} + */ +@com.google.protobuf.Generated +public final class ListServicesRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListServicesRequest) + ListServicesRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListServicesRequest"); + } + + // Use ListServicesRequest.newBuilder() to construct. + private ListServicesRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListServicesRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest.class, + com.google.cloud.commerceproducer.v1beta.ListServicesRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListServicesRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListServicesRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.cloud.commerceproducer.v1beta.ListServicesRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListServicesRequest other = + (com.google.cloud.commerceproducer.v1beta.ListServicesRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest 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.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListServicesRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of Services
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListServicesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListServicesRequest) + com.google.cloud.commerceproducer.v1beta.ListServicesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest.class, + com.google.cloud.commerceproducer.v1beta.ListServicesRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListServicesRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListServicesRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesRequest build() { + com.google.cloud.commerceproducer.v1beta.ListServicesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListServicesRequest result = + new com.google.cloud.commerceproducer.v1beta.ListServicesRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListServicesRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListServicesRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListServicesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListServicesRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListServicesRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListServicesRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListServicesRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListServicesRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListServicesRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListServicesRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListServicesRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListServicesRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListServicesRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListServicesRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListServicesRequest 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.cloud.commerceproducer.v1beta.ListServicesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequestOrBuilder.java new file mode 100644 index 000000000000..b8b184ab85fb --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesRequestOrBuilder.java @@ -0,0 +1,99 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListServicesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListServicesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListServicesRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListServicesRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponse.java new file mode 100644 index 000000000000..ac97cae1f6b1 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponse.java @@ -0,0 +1,1127 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing Services
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListServicesResponse} + */ +@com.google.protobuf.Generated +public final class ListServicesResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListServicesResponse) + ListServicesResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListServicesResponse"); + } + + // Use ListServicesResponse.newBuilder() to construct. + private ListServicesResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListServicesResponse() { + services_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListServicesResponse.class, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse.Builder.class); + } + + public static final int SERVICES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List services_; + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + @java.lang.Override + public java.util.List getServicesList() { + return services_; + } + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + @java.lang.Override + public java.util.List + getServicesOrBuilderList() { + return services_; + } + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + @java.lang.Override + public int getServicesCount() { + return services_.size(); + } + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Service getServices(int index) { + return services_.get(index); + } + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder getServicesOrBuilder(int index) { + return services_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < services_.size(); i++) { + output.writeMessage(1, services_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < services_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, services_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListServicesResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListServicesResponse other = + (com.google.cloud.commerceproducer.v1beta.ListServicesResponse) obj; + + if (!getServicesList().equals(other.getServicesList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getServicesCount() > 0) { + hash = (37 * hash) + SERVICES_FIELD_NUMBER; + hash = (53 * hash) + getServicesList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse 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.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListServicesResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Services
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListServicesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListServicesResponse) + com.google.cloud.commerceproducer.v1beta.ListServicesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListServicesResponse.class, + com.google.cloud.commerceproducer.v1beta.ListServicesResponse.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListServicesResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + } else { + services_ = null; + servicesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListServicesResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesResponse + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListServicesResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesResponse build() { + com.google.cloud.commerceproducer.v1beta.ListServicesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListServicesResponse buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListServicesResponse result = + new com.google.cloud.commerceproducer.v1beta.ListServicesResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListServicesResponse result) { + if (servicesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + services_ = java.util.Collections.unmodifiableList(services_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.services_ = services_; + } else { + result.services_ = servicesBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListServicesResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListServicesResponse) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListServicesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListServicesResponse other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListServicesResponse.getDefaultInstance()) + return this; + if (servicesBuilder_ == null) { + if (!other.services_.isEmpty()) { + if (services_.isEmpty()) { + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServicesIsMutable(); + services_.addAll(other.services_); + } + onChanged(); + } + } else { + if (!other.services_.isEmpty()) { + if (servicesBuilder_.isEmpty()) { + servicesBuilder_.dispose(); + servicesBuilder_ = null; + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + servicesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetServicesFieldBuilder() + : null; + } else { + servicesBuilder_.addAllMessages(other.services_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.Service m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.Service.parser(), + extensionRegistry); + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(m); + } else { + servicesBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List services_ = + java.util.Collections.emptyList(); + + private void ensureServicesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + services_ = + new java.util.ArrayList(services_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Service, + com.google.cloud.commerceproducer.v1beta.Service.Builder, + com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder> + servicesBuilder_; + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public java.util.List getServicesList() { + if (servicesBuilder_ == null) { + return java.util.Collections.unmodifiableList(services_); + } else { + return servicesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public int getServicesCount() { + if (servicesBuilder_ == null) { + return services_.size(); + } else { + return servicesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Service getServices(int index) { + if (servicesBuilder_ == null) { + return services_.get(index); + } else { + return servicesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder setServices(int index, com.google.cloud.commerceproducer.v1beta.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.set(index, value); + onChanged(); + } else { + servicesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder setServices( + int index, com.google.cloud.commerceproducer.v1beta.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.set(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder addServices(com.google.cloud.commerceproducer.v1beta.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(value); + onChanged(); + } else { + servicesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder addServices(int index, com.google.cloud.commerceproducer.v1beta.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(index, value); + onChanged(); + } else { + servicesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder addServices( + com.google.cloud.commerceproducer.v1beta.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder addServices( + int index, com.google.cloud.commerceproducer.v1beta.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder addAllServices( + java.lang.Iterable values) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, services_); + onChanged(); + } else { + servicesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder clearServices() { + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + servicesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public Builder removeServices(int index) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.remove(index); + onChanged(); + } else { + servicesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Service.Builder getServicesBuilder(int index) { + return internalGetServicesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder getServicesOrBuilder( + int index) { + if (servicesBuilder_ == null) { + return services_.get(index); + } else { + return servicesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public java.util.List + getServicesOrBuilderList() { + if (servicesBuilder_ != null) { + return servicesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(services_); + } + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Service.Builder addServicesBuilder() { + return internalGetServicesFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.Service.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Service.Builder addServicesBuilder(int index) { + return internalGetServicesFieldBuilder() + .addBuilder(index, com.google.cloud.commerceproducer.v1beta.Service.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Service
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + public java.util.List + getServicesBuilderList() { + return internalGetServicesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Service, + com.google.cloud.commerceproducer.v1beta.Service.Builder, + com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder> + internalGetServicesFieldBuilder() { + if (servicesBuilder_ == null) { + servicesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Service, + com.google.cloud.commerceproducer.v1beta.Service.Builder, + com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder>( + services_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + services_ = null; + } + return servicesBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListServicesResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListServicesResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListServicesResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListServicesResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListServicesResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListServicesResponse 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.cloud.commerceproducer.v1beta.ListServicesResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponseOrBuilder.java new file mode 100644 index 000000000000..4a1650fad48a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListServicesResponseOrBuilder.java @@ -0,0 +1,112 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListServicesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListServicesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + java.util.List getServicesList(); + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + com.google.cloud.commerceproducer.v1beta.Service getServices(int index); + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + int getServicesCount(); + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + java.util.List + getServicesOrBuilderList(); + + /** + * + * + *
+   * The list of Service
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Service services = 1; + */ + com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder getServicesOrBuilder(int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequest.java new file mode 100644 index 000000000000..31ae0ec25d3c --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequest.java @@ -0,0 +1,937 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of SkuGroups
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest} + */ +@com.google.protobuf.Generated +public final class ListSkuGroupsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) + ListSkuGroupsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListSkuGroupsRequest"); + } + + // Use ListSkuGroupsRequest.newBuilder() to construct. + private ListSkuGroupsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListSkuGroupsRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.class, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListSkuGroupsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListSkuGroupsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.cloud.commerceproducer.v1beta.ListSkuGroupsRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest other = + (com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest 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.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListSkuGroupsRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of SkuGroups
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.class, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest build() { + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest result = + new com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListSkuGroupsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListSkuGroupsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListSkuGroupsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListSkuGroupsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListSkuGroupsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSkuGroupsRequest 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.cloud.commerceproducer.v1beta.ListSkuGroupsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequestOrBuilder.java new file mode 100644 index 000000000000..9b69fb2477fd --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsRequestOrBuilder.java @@ -0,0 +1,107 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListSkuGroupsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListSkuGroupsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListSkuGroupsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponse.java new file mode 100644 index 000000000000..bf33eefe0734 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponse.java @@ -0,0 +1,1135 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing SkuGroups
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse} + */ +@com.google.protobuf.Generated +public final class ListSkuGroupsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) + ListSkuGroupsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListSkuGroupsResponse"); + } + + // Use ListSkuGroupsResponse.newBuilder() to construct. + private ListSkuGroupsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListSkuGroupsResponse() { + skuGroups_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.class, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.Builder.class); + } + + public static final int SKU_GROUPS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List skuGroups_; + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + @java.lang.Override + public java.util.List getSkuGroupsList() { + return skuGroups_; + } + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + @java.lang.Override + public java.util.List + getSkuGroupsOrBuilderList() { + return skuGroups_; + } + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + @java.lang.Override + public int getSkuGroupsCount() { + return skuGroups_.size(); + } + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuGroup getSkuGroups(int index) { + return skuGroups_.get(index); + } + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder getSkuGroupsOrBuilder( + int index) { + return skuGroups_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < skuGroups_.size(); i++) { + output.writeMessage(1, skuGroups_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < skuGroups_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, skuGroups_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListSkuGroupsResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse other = + (com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) obj; + + if (!getSkuGroupsList().equals(other.getSkuGroupsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getSkuGroupsCount() > 0) { + hash = (37 * hash) + SKU_GROUPS_FIELD_NUMBER; + hash = (53 * hash) + getSkuGroupsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse 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.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListSkuGroupsResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing SkuGroups
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.class, + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (skuGroupsBuilder_ == null) { + skuGroups_ = java.util.Collections.emptyList(); + } else { + skuGroups_ = null; + skuGroupsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkuGroupsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse build() { + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse result = + new com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse result) { + if (skuGroupsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + skuGroups_ = java.util.Collections.unmodifiableList(skuGroups_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.skuGroups_ = skuGroups_; + } else { + result.skuGroups_ = skuGroupsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse.getDefaultInstance()) + return this; + if (skuGroupsBuilder_ == null) { + if (!other.skuGroups_.isEmpty()) { + if (skuGroups_.isEmpty()) { + skuGroups_ = other.skuGroups_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSkuGroupsIsMutable(); + skuGroups_.addAll(other.skuGroups_); + } + onChanged(); + } + } else { + if (!other.skuGroups_.isEmpty()) { + if (skuGroupsBuilder_.isEmpty()) { + skuGroupsBuilder_.dispose(); + skuGroupsBuilder_ = null; + skuGroups_ = other.skuGroups_; + bitField0_ = (bitField0_ & ~0x00000001); + skuGroupsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetSkuGroupsFieldBuilder() + : null; + } else { + skuGroupsBuilder_.addAllMessages(other.skuGroups_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.SkuGroup m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.SkuGroup.parser(), + extensionRegistry); + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + skuGroups_.add(m); + } else { + skuGroupsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List skuGroups_ = + java.util.Collections.emptyList(); + + private void ensureSkuGroupsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + skuGroups_ = + new java.util.ArrayList(skuGroups_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.SkuGroup, + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder, + com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder> + skuGroupsBuilder_; + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public java.util.List getSkuGroupsList() { + if (skuGroupsBuilder_ == null) { + return java.util.Collections.unmodifiableList(skuGroups_); + } else { + return skuGroupsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public int getSkuGroupsCount() { + if (skuGroupsBuilder_ == null) { + return skuGroups_.size(); + } else { + return skuGroupsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup getSkuGroups(int index) { + if (skuGroupsBuilder_ == null) { + return skuGroups_.get(index); + } else { + return skuGroupsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder setSkuGroups( + int index, com.google.cloud.commerceproducer.v1beta.SkuGroup value) { + if (skuGroupsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuGroupsIsMutable(); + skuGroups_.set(index, value); + onChanged(); + } else { + skuGroupsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder setSkuGroups( + int index, com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder builderForValue) { + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + skuGroups_.set(index, builderForValue.build()); + onChanged(); + } else { + skuGroupsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder addSkuGroups(com.google.cloud.commerceproducer.v1beta.SkuGroup value) { + if (skuGroupsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuGroupsIsMutable(); + skuGroups_.add(value); + onChanged(); + } else { + skuGroupsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder addSkuGroups( + int index, com.google.cloud.commerceproducer.v1beta.SkuGroup value) { + if (skuGroupsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuGroupsIsMutable(); + skuGroups_.add(index, value); + onChanged(); + } else { + skuGroupsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder addSkuGroups( + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder builderForValue) { + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + skuGroups_.add(builderForValue.build()); + onChanged(); + } else { + skuGroupsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder addSkuGroups( + int index, com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder builderForValue) { + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + skuGroups_.add(index, builderForValue.build()); + onChanged(); + } else { + skuGroupsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder addAllSkuGroups( + java.lang.Iterable values) { + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skuGroups_); + onChanged(); + } else { + skuGroupsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder clearSkuGroups() { + if (skuGroupsBuilder_ == null) { + skuGroups_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + skuGroupsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public Builder removeSkuGroups(int index) { + if (skuGroupsBuilder_ == null) { + ensureSkuGroupsIsMutable(); + skuGroups_.remove(index); + onChanged(); + } else { + skuGroupsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder getSkuGroupsBuilder( + int index) { + return internalGetSkuGroupsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder getSkuGroupsOrBuilder( + int index) { + if (skuGroupsBuilder_ == null) { + return skuGroups_.get(index); + } else { + return skuGroupsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public java.util.List + getSkuGroupsOrBuilderList() { + if (skuGroupsBuilder_ != null) { + return skuGroupsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(skuGroups_); + } + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder addSkuGroupsBuilder() { + return internalGetSkuGroupsFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.SkuGroup.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder addSkuGroupsBuilder( + int index) { + return internalGetSkuGroupsFieldBuilder() + .addBuilder( + index, com.google.cloud.commerceproducer.v1beta.SkuGroup.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of SkuGroup
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + public java.util.List + getSkuGroupsBuilderList() { + return internalGetSkuGroupsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.SkuGroup, + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder, + com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder> + internalGetSkuGroupsFieldBuilder() { + if (skuGroupsBuilder_ == null) { + skuGroupsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.SkuGroup, + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder, + com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder>( + skuGroups_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + skuGroups_ = null; + } + return skuGroupsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSkuGroupsResponse 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.cloud.commerceproducer.v1beta.ListSkuGroupsResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponseOrBuilder.java new file mode 100644 index 000000000000..036f58f68f8a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkuGroupsResponseOrBuilder.java @@ -0,0 +1,112 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListSkuGroupsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + java.util.List getSkuGroupsList(); + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + com.google.cloud.commerceproducer.v1beta.SkuGroup getSkuGroups(int index); + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + int getSkuGroupsCount(); + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + java.util.List + getSkuGroupsOrBuilderList(); + + /** + * + * + *
+   * The list of SkuGroup
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.SkuGroup sku_groups = 1; + */ + com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder getSkuGroupsOrBuilder(int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequest.java new file mode 100644 index 000000000000..946028ed73e0 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequest.java @@ -0,0 +1,933 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of Skus
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkusRequest} + */ +@com.google.protobuf.Generated +public final class ListSkusRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListSkusRequest) + ListSkusRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListSkusRequest"); + } + + // Use ListSkusRequest.newBuilder() to construct. + private ListSkusRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListSkusRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest.class, + com.google.cloud.commerceproducer.v1beta.ListSkusRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListSkusRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListSkusRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + 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.cloud.commerceproducer.v1beta.ListSkusRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListSkusRequest other = + (com.google.cloud.commerceproducer.v1beta.ListSkusRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest 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.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListSkusRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of Skus
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkusRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListSkusRequest) + com.google.cloud.commerceproducer.v1beta.ListSkusRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkusRequest.class, + com.google.cloud.commerceproducer.v1beta.ListSkusRequest.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListSkusRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusRequest getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListSkusRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusRequest build() { + com.google.cloud.commerceproducer.v1beta.ListSkusRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListSkusRequest result = + new com.google.cloud.commerceproducer.v1beta.ListSkusRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.ListSkusRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListSkusRequest) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListSkusRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListSkusRequest other) { + if (other == com.google.cloud.commerceproducer.v1beta.ListSkusRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListSkusRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListSkusRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListSkusRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListSkusRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListSkusRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListSkusRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListSkusRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListSkusRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListSkusRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSkusRequest 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.cloud.commerceproducer.v1beta.ListSkusRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequestOrBuilder.java new file mode 100644 index 000000000000..19d7096eddc5 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusRequestOrBuilder.java @@ -0,0 +1,107 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListSkusRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListSkusRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListSkusRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListSkusRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponse.java new file mode 100644 index 000000000000..09fd8c96e573 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponse.java @@ -0,0 +1,1119 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing Skus
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkusResponse} + */ +@com.google.protobuf.Generated +public final class ListSkusResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListSkusResponse) + ListSkusResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListSkusResponse"); + } + + // Use ListSkusResponse.newBuilder() to construct. + private ListSkusResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListSkusResponse() { + skus_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkusResponse.class, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse.Builder.class); + } + + public static final int SKUS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List skus_; + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + @java.lang.Override + public java.util.List getSkusList() { + return skus_; + } + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + @java.lang.Override + public java.util.List + getSkusOrBuilderList() { + return skus_; + } + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + @java.lang.Override + public int getSkusCount() { + return skus_.size(); + } + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku getSkus(int index) { + return skus_.get(index); + } + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuOrBuilder getSkusOrBuilder(int index) { + return skus_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < skus_.size(); i++) { + output.writeMessage(1, skus_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < skus_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, skus_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListSkusResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListSkusResponse other = + (com.google.cloud.commerceproducer.v1beta.ListSkusResponse) obj; + + if (!getSkusList().equals(other.getSkusList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getSkusCount() > 0) { + hash = (37 * hash) + SKUS_FIELD_NUMBER; + hash = (53 * hash) + getSkusList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse 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.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListSkusResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Skus
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListSkusResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListSkusResponse) + com.google.cloud.commerceproducer.v1beta.ListSkusResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListSkusResponse.class, + com.google.cloud.commerceproducer.v1beta.ListSkusResponse.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.ListSkusResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (skusBuilder_ == null) { + skus_ = java.util.Collections.emptyList(); + } else { + skus_ = null; + skusBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListSkusResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusResponse getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListSkusResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusResponse build() { + com.google.cloud.commerceproducer.v1beta.ListSkusResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListSkusResponse buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListSkusResponse result = + new com.google.cloud.commerceproducer.v1beta.ListSkusResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListSkusResponse result) { + if (skusBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + skus_ = java.util.Collections.unmodifiableList(skus_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.skus_ = skus_; + } else { + result.skus_ = skusBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.ListSkusResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListSkusResponse) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.ListSkusResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.ListSkusResponse other) { + if (other == com.google.cloud.commerceproducer.v1beta.ListSkusResponse.getDefaultInstance()) + return this; + if (skusBuilder_ == null) { + if (!other.skus_.isEmpty()) { + if (skus_.isEmpty()) { + skus_ = other.skus_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSkusIsMutable(); + skus_.addAll(other.skus_); + } + onChanged(); + } + } else { + if (!other.skus_.isEmpty()) { + if (skusBuilder_.isEmpty()) { + skusBuilder_.dispose(); + skusBuilder_ = null; + skus_ = other.skus_; + bitField0_ = (bitField0_ & ~0x00000001); + skusBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetSkusFieldBuilder() + : null; + } else { + skusBuilder_.addAllMessages(other.skus_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.Sku m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.Sku.parser(), extensionRegistry); + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + skus_.add(m); + } else { + skusBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List skus_ = + java.util.Collections.emptyList(); + + private void ensureSkusIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + skus_ = new java.util.ArrayList(skus_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku, + com.google.cloud.commerceproducer.v1beta.Sku.Builder, + com.google.cloud.commerceproducer.v1beta.SkuOrBuilder> + skusBuilder_; + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public java.util.List getSkusList() { + if (skusBuilder_ == null) { + return java.util.Collections.unmodifiableList(skus_); + } else { + return skusBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public int getSkusCount() { + if (skusBuilder_ == null) { + return skus_.size(); + } else { + return skusBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Sku getSkus(int index) { + if (skusBuilder_ == null) { + return skus_.get(index); + } else { + return skusBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder setSkus(int index, com.google.cloud.commerceproducer.v1beta.Sku value) { + if (skusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.set(index, value); + onChanged(); + } else { + skusBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder setSkus( + int index, com.google.cloud.commerceproducer.v1beta.Sku.Builder builderForValue) { + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + skus_.set(index, builderForValue.build()); + onChanged(); + } else { + skusBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder addSkus(com.google.cloud.commerceproducer.v1beta.Sku value) { + if (skusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.add(value); + onChanged(); + } else { + skusBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder addSkus(int index, com.google.cloud.commerceproducer.v1beta.Sku value) { + if (skusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.add(index, value); + onChanged(); + } else { + skusBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder addSkus(com.google.cloud.commerceproducer.v1beta.Sku.Builder builderForValue) { + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + skus_.add(builderForValue.build()); + onChanged(); + } else { + skusBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder addSkus( + int index, com.google.cloud.commerceproducer.v1beta.Sku.Builder builderForValue) { + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + skus_.add(index, builderForValue.build()); + onChanged(); + } else { + skusBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder addAllSkus( + java.lang.Iterable values) { + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skus_); + onChanged(); + } else { + skusBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder clearSkus() { + if (skusBuilder_ == null) { + skus_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + skusBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public Builder removeSkus(int index) { + if (skusBuilder_ == null) { + ensureSkusIsMutable(); + skus_.remove(index); + onChanged(); + } else { + skusBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Sku.Builder getSkusBuilder(int index) { + return internalGetSkusFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public com.google.cloud.commerceproducer.v1beta.SkuOrBuilder getSkusOrBuilder(int index) { + if (skusBuilder_ == null) { + return skus_.get(index); + } else { + return skusBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public java.util.List + getSkusOrBuilderList() { + if (skusBuilder_ != null) { + return skusBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(skus_); + } + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Sku.Builder addSkusBuilder() { + return internalGetSkusFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.Sku.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public com.google.cloud.commerceproducer.v1beta.Sku.Builder addSkusBuilder(int index) { + return internalGetSkusFieldBuilder() + .addBuilder(index, com.google.cloud.commerceproducer.v1beta.Sku.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Sku
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + public java.util.List + getSkusBuilderList() { + return internalGetSkusFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku, + com.google.cloud.commerceproducer.v1beta.Sku.Builder, + com.google.cloud.commerceproducer.v1beta.SkuOrBuilder> + internalGetSkusFieldBuilder() { + if (skusBuilder_ == null) { + skusBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku, + com.google.cloud.commerceproducer.v1beta.Sku.Builder, + com.google.cloud.commerceproducer.v1beta.SkuOrBuilder>( + skus_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + skus_ = null; + } + return skusBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListSkusResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListSkusResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListSkusResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListSkusResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListSkusResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSkusResponse 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.cloud.commerceproducer.v1beta.ListSkusResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponseOrBuilder.java new file mode 100644 index 000000000000..66c30b90789d --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListSkusResponseOrBuilder.java @@ -0,0 +1,112 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListSkusResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListSkusResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + java.util.List getSkusList(); + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + com.google.cloud.commerceproducer.v1beta.Sku getSkus(int index); + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + int getSkusCount(); + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + java.util.List + getSkusOrBuilderList(); + + /** + * + * + *
+   * The list of Sku
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.Sku skus = 1; + */ + com.google.cloud.commerceproducer.v1beta.SkuOrBuilder getSkusOrBuilder(int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequest.java new file mode 100644 index 000000000000..d9436286b0a1 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequest.java @@ -0,0 +1,1406 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for requesting list of StandardOffers
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListStandardOffersRequest} + */ +@com.google.protobuf.Generated +public final class ListStandardOffersRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) + ListStandardOffersRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListStandardOffersRequest"); + } + + // Use ListStandardOffersRequest.newBuilder() to construct. + private ListStandardOffersRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListStandardOffersRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.class, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListStandardOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListStandardOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Supports filtering by:
+   *
+   * * `effective_time`.
+   * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+   * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + 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(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Supports filtering by:
+   *
+   * * `effective_time`.
+   * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+   * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Supports ordering by:
+   *
+   * * `effective_time`
+   * * `expire_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + 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(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Supports ordering by:
+   *
+   * * `effective_time`
+   * * `expire_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = 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.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + 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.cloud.commerceproducer.v1beta.ListStandardOffersRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest other = + (com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest 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.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListStandardOffersRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of StandardOffers
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListStandardOffersRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.class, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest build() { + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest result = + new com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + .getDefaultInstance()) return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + 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: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + 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 parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListStandardOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListStandardOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListStandardOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListStandardOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListStandardOffersRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Maximum results to return. The service may return fewer than this
+     * value. The maximum value is 500; values above 500 will be coerced to 500.
+     * If unspecified, the server will default to the maximum.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A page token, received from a previous list response message.
+     * Provide this to retrieve the subsequent page.
+     *
+     * When paginating, all other parameters of the list request must match the
+     * request that returned the page token.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Supports filtering by:
+     *
+     * * `effective_time`.
+     * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+     * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Supports filtering by:
+     *
+     * * `effective_time`.
+     * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+     * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Supports filtering by:
+     *
+     * * `effective_time`.
+     * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+     * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Supports filtering by:
+     *
+     * * `effective_time`.
+     * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+     * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filter expression that matches a subset of resources to show.
+     * See https://google.aip.dev/160 for more details.
+     * Supports filtering by:
+     *
+     * * `effective_time`.
+     * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+     * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Supports ordering by:
+     *
+     * * `effective_time`
+     * * `expire_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Supports ordering by:
+     *
+     * * `effective_time`
+     * * `expire_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Supports ordering by:
+     *
+     * * `effective_time`
+     * * `expire_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Supports ordering by:
+     *
+     * * `effective_time`
+     * * `expire_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Ordering expression for sorting the results.
+     * See https://google.aip.dev/132#ordering for more details.
+     * If no value is present the default ordering is unspecified.
+     * Supports ordering by:
+     *
+     * * `effective_time`
+     * * `expire_time`
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) + private static final com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListStandardOffersRequest 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.cloud.commerceproducer.v1beta.ListStandardOffersRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequestOrBuilder.java new file mode 100644 index 000000000000..0ec086498825 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersRequestOrBuilder.java @@ -0,0 +1,183 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListStandardOffersRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListStandardOffersRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListStandardOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListStandardOffersRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Maximum results to return. The service may return fewer than this
+   * value. The maximum value is 500; values above 500 will be coerced to 500.
+   * If unspecified, the server will default to the maximum.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A page token, received from a previous list response message.
+   * Provide this to retrieve the subsequent page.
+   *
+   * When paginating, all other parameters of the list request must match the
+   * request that returned the page token.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Supports filtering by:
+   *
+   * * `effective_time`.
+   * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+   * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. Filter expression that matches a subset of resources to show.
+   * See https://google.aip.dev/160 for more details.
+   * Supports filtering by:
+   *
+   * * `effective_time`.
+   * Example: `effective_time > "2012-04-21T11:30:00-04:00"`.
+   * * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Supports ordering by:
+   *
+   * * `effective_time`
+   * * `expire_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Optional. Ordering expression for sorting the results.
+   * See https://google.aip.dev/132#ordering for more details.
+   * If no value is present the default ordering is unspecified.
+   * Supports ordering by:
+   *
+   * * `effective_time`
+   * * `expire_time`
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponse.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponse.java new file mode 100644 index 000000000000..d2af33732db8 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponse.java @@ -0,0 +1,1166 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for response to listing StandardOffers
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListStandardOffersResponse} + */ +@com.google.protobuf.Generated +public final class ListStandardOffersResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) + ListStandardOffersResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListStandardOffersResponse"); + } + + // Use ListStandardOffersResponse.newBuilder() to construct. + private ListStandardOffersResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListStandardOffersResponse() { + standardOffers_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.class, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.Builder.class); + } + + public static final int STANDARD_OFFERS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List standardOffers_; + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + @java.lang.Override + public java.util.List + getStandardOffersList() { + return standardOffers_; + } + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + @java.lang.Override + public java.util.List + getStandardOffersOrBuilderList() { + return standardOffers_; + } + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + @java.lang.Override + public int getStandardOffersCount() { + return standardOffers_.size(); + } + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer getStandardOffers(int index) { + return standardOffers_.get(index); + } + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder getStandardOffersOrBuilder( + int index) { + return standardOffers_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < standardOffers_.size(); i++) { + output.writeMessage(1, standardOffers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < standardOffers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, standardOffers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + 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.cloud.commerceproducer.v1beta.ListStandardOffersResponse)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse other = + (com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) obj; + + if (!getStandardOffersList().equals(other.getStandardOffersList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) 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(); + if (getStandardOffersCount() > 0) { + hash = (37 * hash) + STANDARD_OFFERS_FIELD_NUMBER; + hash = (53 * hash) + getStandardOffersList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse 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.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.ListStandardOffersResponse 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing StandardOffers
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.ListStandardOffersResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.class, + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (standardOffersBuilder_ == null) { + standardOffers_ = java.util.Collections.emptyList(); + } else { + standardOffers_ = null; + standardOffersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_ListStandardOffersResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse build() { + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse buildPartial() { + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse result = + new com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse result) { + if (standardOffersBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + standardOffers_ = java.util.Collections.unmodifiableList(standardOffers_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.standardOffers_ = standardOffers_; + } else { + result.standardOffers_ = standardOffersBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse other) { + if (other + == com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + .getDefaultInstance()) return this; + if (standardOffersBuilder_ == null) { + if (!other.standardOffers_.isEmpty()) { + if (standardOffers_.isEmpty()) { + standardOffers_ = other.standardOffers_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureStandardOffersIsMutable(); + standardOffers_.addAll(other.standardOffers_); + } + onChanged(); + } + } else { + if (!other.standardOffers_.isEmpty()) { + if (standardOffersBuilder_.isEmpty()) { + standardOffersBuilder_.dispose(); + standardOffersBuilder_ = null; + standardOffers_ = other.standardOffers_; + bitField0_ = (bitField0_ & ~0x00000001); + standardOffersBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetStandardOffersFieldBuilder() + : null; + } else { + standardOffersBuilder_.addAllMessages(other.standardOffers_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + 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: + { + com.google.cloud.commerceproducer.v1beta.StandardOffer m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.StandardOffer.parser(), + extensionRegistry); + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + standardOffers_.add(m); + } else { + standardOffersBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = 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.util.List standardOffers_ = + java.util.Collections.emptyList(); + + private void ensureStandardOffersIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + standardOffers_ = + new java.util.ArrayList( + standardOffers_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer, + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder> + standardOffersBuilder_; + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public java.util.List + getStandardOffersList() { + if (standardOffersBuilder_ == null) { + return java.util.Collections.unmodifiableList(standardOffers_); + } else { + return standardOffersBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public int getStandardOffersCount() { + if (standardOffersBuilder_ == null) { + return standardOffers_.size(); + } else { + return standardOffersBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer getStandardOffers(int index) { + if (standardOffersBuilder_ == null) { + return standardOffers_.get(index); + } else { + return standardOffersBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder setStandardOffers( + int index, com.google.cloud.commerceproducer.v1beta.StandardOffer value) { + if (standardOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStandardOffersIsMutable(); + standardOffers_.set(index, value); + onChanged(); + } else { + standardOffersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder setStandardOffers( + int index, com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder builderForValue) { + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + standardOffers_.set(index, builderForValue.build()); + onChanged(); + } else { + standardOffersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder addStandardOffers(com.google.cloud.commerceproducer.v1beta.StandardOffer value) { + if (standardOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStandardOffersIsMutable(); + standardOffers_.add(value); + onChanged(); + } else { + standardOffersBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder addStandardOffers( + int index, com.google.cloud.commerceproducer.v1beta.StandardOffer value) { + if (standardOffersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureStandardOffersIsMutable(); + standardOffers_.add(index, value); + onChanged(); + } else { + standardOffersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder addStandardOffers( + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder builderForValue) { + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + standardOffers_.add(builderForValue.build()); + onChanged(); + } else { + standardOffersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder addStandardOffers( + int index, com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder builderForValue) { + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + standardOffers_.add(index, builderForValue.build()); + onChanged(); + } else { + standardOffersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder addAllStandardOffers( + java.lang.Iterable + values) { + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, standardOffers_); + onChanged(); + } else { + standardOffersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder clearStandardOffers() { + if (standardOffersBuilder_ == null) { + standardOffers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + standardOffersBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public Builder removeStandardOffers(int index) { + if (standardOffersBuilder_ == null) { + ensureStandardOffersIsMutable(); + standardOffers_.remove(index); + onChanged(); + } else { + standardOffersBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder getStandardOffersBuilder( + int index) { + return internalGetStandardOffersFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder + getStandardOffersOrBuilder(int index) { + if (standardOffersBuilder_ == null) { + return standardOffers_.get(index); + } else { + return standardOffersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public java.util.List + getStandardOffersOrBuilderList() { + if (standardOffersBuilder_ != null) { + return standardOffersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(standardOffers_); + } + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder + addStandardOffersBuilder() { + return internalGetStandardOffersFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.StandardOffer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder addStandardOffersBuilder( + int index) { + return internalGetStandardOffersFieldBuilder() + .addBuilder( + index, com.google.cloud.commerceproducer.v1beta.StandardOffer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of StandardOffer
+     * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + * + */ + public java.util.List + getStandardOffersBuilderList() { + return internalGetStandardOffersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer, + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder> + internalGetStandardOffersFieldBuilder() { + if (standardOffersBuilder_ == null) { + standardOffersBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer, + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder>( + standardOffers_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + standardOffers_ = null; + } + return standardOffersBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token, which can be sent as `page_token` to retrieve the next page.
+     * If this field is omitted, there are no subsequent pages.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) + private static final com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse(); + } + + public static com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListStandardOffersResponse 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.cloud.commerceproducer.v1beta.ListStandardOffersResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponseOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponseOrBuilder.java new file mode 100644 index 000000000000..8e2b04ec50af --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ListStandardOffersResponseOrBuilder.java @@ -0,0 +1,113 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ListStandardOffersResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.ListStandardOffersResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + java.util.List getStandardOffersList(); + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer getStandardOffers(int index); + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + int getStandardOffersCount(); + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + java.util.List + getStandardOffersOrBuilderList(); + + /** + * + * + *
+   * The list of StandardOffer
+   * 
+ * + * repeated .google.cloud.commerceproducer.v1beta.StandardOffer standard_offers = 1; + */ + com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder getStandardOffersOrBuilder( + int index); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token, which can be sent as `page_token` to retrieve the next page.
+   * If this field is omitted, there are no subsequent pages.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/LocationName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/LocationName.java new file mode 100644 index 000000000000..c6d2265130d9 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/LocationName.java @@ -0,0 +1,195 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class LocationName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION = + PathTemplate.createWithoutUrlEncoding("projects/{project}/locations/{location}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + + @Deprecated + protected LocationName() { + project = null; + location = null; + } + + private LocationName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static LocationName of(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build(); + } + + public static String format(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build().toString(); + } + + public static @Nullable LocationName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION.validatedMatch( + formattedString, "LocationName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable LocationName> values) { + List list = new ArrayList<>(values.size()); + for (LocationName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION.instantiate("project", project, "location", location); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + LocationName that = ((LocationName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + return h; + } + + /** Builder for projects/{project}/locations/{location}. */ + public static class Builder { + private String project; + private String location; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + private Builder(LocationName locationName) { + this.project = locationName.project; + this.location = locationName.location; + } + + public LocationName build() { + return new LocationName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOffer.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOffer.java new file mode 100644 index 000000000000..1657d4363af9 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOffer.java @@ -0,0 +1,37011 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/private_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing PrivateOffer resource.
+ *
+ * Note on OPTIONAL fields: To facilitate saving incomplete draft offers, most
+ * fields are categorized as OPTIONAL irrespective of whether they are necessary
+ * for a private offer to be valid. Many fields labeled OPTIONAL must be set to
+ * publish the offer.
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer} + */ +@com.google.protobuf.Generated +public final class PrivateOffer extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer) + PrivateOfferOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PrivateOffer"); + } + + // Use PrivateOffer.newBuilder() to construct. + private PrivateOffer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PrivateOffer() { + name_ = ""; + state_ = 0; + cancellationNote_ = ""; + internalNote_ = ""; + offerDealType_ = 0; + title_ = ""; + customerNote_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder.class); + } + + /** + * + * + *
+   * State of an offer.
+   * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOffer.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Default value. This value is unused.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + STATE_UNSPECIFIED(0), + /** + * + * + *
+     * The default state after creation when the offer can be edited.
+     * In all other states, the contents of the offer cannot be edited.
+     * 
+ * + * DRAFT = 1; + */ + DRAFT(1), + /** + * + * + *
+     * The offer is publishing.
+     * Publishing will complete when all publishing requirements are satisfied.
+     * 
+ * + * PUBLISHING = 2; + */ + PUBLISHING(2), + /** + * + * + *
+     * The offer has been published and is available to the customer to accept.
+     * 
+ * + * PUBLISHED = 3; + */ + PUBLISHED(3), + /** + * + * + *
+     * The offer has been accepted by the customer.
+     * 
+ * + * ACCEPTED = 4; + */ + ACCEPTED(4), + /** + * + * + *
+     * The offer was cancelled by the provider before it was transacted.
+     * Cancelled offers can no longer be accepted by the customer.
+     * 
+ * + * CANCELLED = 5; + */ + CANCELLED(5), + /** + * + * + *
+     * The offer expired without being accepted by the customer.
+     * Expired offers can no longer be accepted by the customer.
+     * 
+ * + * EXPIRED = 6; + */ + EXPIRED(6), + /** + * + * + *
+     * The offer has ended.
+     *
+     * Ended offers were accepted and active in the past, but have now reached
+     * the end of their term or have been terminated.
+     * 
+ * + * ENDED = 7; + */ + ENDED(7), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "State"); + } + + /** + * + * + *
+     * Default value. This value is unused.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + public static final int STATE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The default state after creation when the offer can be edited.
+     * In all other states, the contents of the offer cannot be edited.
+     * 
+ * + * DRAFT = 1; + */ + public static final int DRAFT_VALUE = 1; + + /** + * + * + *
+     * The offer is publishing.
+     * Publishing will complete when all publishing requirements are satisfied.
+     * 
+ * + * PUBLISHING = 2; + */ + public static final int PUBLISHING_VALUE = 2; + + /** + * + * + *
+     * The offer has been published and is available to the customer to accept.
+     * 
+ * + * PUBLISHED = 3; + */ + public static final int PUBLISHED_VALUE = 3; + + /** + * + * + *
+     * The offer has been accepted by the customer.
+     * 
+ * + * ACCEPTED = 4; + */ + public static final int ACCEPTED_VALUE = 4; + + /** + * + * + *
+     * The offer was cancelled by the provider before it was transacted.
+     * Cancelled offers can no longer be accepted by the customer.
+     * 
+ * + * CANCELLED = 5; + */ + public static final int CANCELLED_VALUE = 5; + + /** + * + * + *
+     * The offer expired without being accepted by the customer.
+     * Expired offers can no longer be accepted by the customer.
+     * 
+ * + * EXPIRED = 6; + */ + public static final int EXPIRED_VALUE = 6; + + /** + * + * + *
+     * The offer has ended.
+     *
+     * Ended offers were accepted and active in the past, but have now reached
+     * the end of their term or have been terminated.
+     * 
+ * + * ENDED = 7; + */ + public static final int ENDED_VALUE = 7; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static State valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static State forNumber(int value) { + switch (value) { + case 0: + return STATE_UNSPECIFIED; + case 1: + return DRAFT; + case 2: + return PUBLISHING; + case 3: + return PUBLISHED; + case 4: + return ACCEPTED; + case 5: + return CANCELLED; + case 6: + return EXPIRED; + case 7: + return ENDED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public State findValueByNumber(int number) { + return State.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final State[] VALUES = values(); + + public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private State(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.State) + } + + /** + * + * + *
+   * The type of the deal transacted with the offer. The deal type of an offer
+   * is a factor in determining the offer's revenue share.
+   * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType} + */ + public enum OfferDealType implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Default value. This value is unused.
+     * 
+ * + * OFFER_DEAL_TYPE_UNSPECIFIED = 0; + */ + OFFER_DEAL_TYPE_UNSPECIFIED(0), + /** + * + * + *
+     * The offer corresponds to a preexisting commercial arrangement for a
+     * workload on Google Cloud that is being transferred to the Cloud
+     * Marketplace.
+     * 
+ * + * CHANNEL_SHIFT = 1; + */ + CHANNEL_SHIFT(1), + /** + * + * + *
+     * The offer corresponds to a preexisting commercial arrangement for a
+     * workload previously not on Google Cloud that is being transferred to
+     * Google Cloud.
+     * 
+ * + * MIGRATION = 2; + */ + MIGRATION(2), + /** + * + * + *
+     * The offer corresponds to a renewal of a deal initially transacted on
+     * the Google Cloud Marketplace.
+     * 
+ * + * NATIVE_RENEWAL = 3; + */ + NATIVE_RENEWAL(3), + /** + * + * + *
+     * The offer corresponds to a new deal transacted on the Google Cloud
+     * Marketplace.
+     *
+     * This value is not allowed if the offer amends another private offer
+     * where the term has not ended, and the amended private offer has a deal
+     * type of `MIGRATION`, `CHANNEL_SHIFT` or `NATIVE_RENEWAL`.
+     * 
+ * + * NEW = 4; + */ + NEW(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "OfferDealType"); + } + + /** + * + * + *
+     * Default value. This value is unused.
+     * 
+ * + * OFFER_DEAL_TYPE_UNSPECIFIED = 0; + */ + public static final int OFFER_DEAL_TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The offer corresponds to a preexisting commercial arrangement for a
+     * workload on Google Cloud that is being transferred to the Cloud
+     * Marketplace.
+     * 
+ * + * CHANNEL_SHIFT = 1; + */ + public static final int CHANNEL_SHIFT_VALUE = 1; + + /** + * + * + *
+     * The offer corresponds to a preexisting commercial arrangement for a
+     * workload previously not on Google Cloud that is being transferred to
+     * Google Cloud.
+     * 
+ * + * MIGRATION = 2; + */ + public static final int MIGRATION_VALUE = 2; + + /** + * + * + *
+     * The offer corresponds to a renewal of a deal initially transacted on
+     * the Google Cloud Marketplace.
+     * 
+ * + * NATIVE_RENEWAL = 3; + */ + public static final int NATIVE_RENEWAL_VALUE = 3; + + /** + * + * + *
+     * The offer corresponds to a new deal transacted on the Google Cloud
+     * Marketplace.
+     *
+     * This value is not allowed if the offer amends another private offer
+     * where the term has not ended, and the amended private offer has a deal
+     * type of `MIGRATION`, `CHANNEL_SHIFT` or `NATIVE_RENEWAL`.
+     * 
+ * + * NEW = 4; + */ + public static final int NEW_VALUE = 4; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static OfferDealType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static OfferDealType forNumber(int value) { + switch (value) { + case 0: + return OFFER_DEAL_TYPE_UNSPECIFIED; + case 1: + return CHANNEL_SHIFT; + case 2: + return MIGRATION; + case 3: + return NATIVE_RENEWAL; + case 4: + return NEW; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public OfferDealType findValueByNumber(int number) { + return OfferDealType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final OfferDealType[] VALUES = values(); + + public static OfferDealType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private OfferDealType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType) + } + + public interface PublishRequirementGoogleReviewOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the reviewApproveTime field is set. + */ + boolean hasReviewApproveTime(); + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The reviewApproveTime. + */ + com.google.protobuf.Timestamp getReviewApproveTime(); + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getReviewApproveTimeOrBuilder(); + } + + /** + * + * + *
+   * Information about the Google review process.
+   * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview} + */ + public static final class PublishRequirementGoogleReview + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + PublishRequirementGoogleReviewOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PublishRequirementGoogleReview"); + } + + // Use PublishRequirementGoogleReview.newBuilder() to construct. + private PublishRequirementGoogleReview( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PublishRequirementGoogleReview() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder.class); + } + + private int bitField0_; + public static final int REVIEW_APPROVE_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp reviewApproveTime_; + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the reviewApproveTime field is set. + */ + @java.lang.Override + public boolean hasReviewApproveTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The reviewApproveTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getReviewApproveTime() { + return reviewApproveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : reviewApproveTime_; + } + + /** + * + * + *
+     * Output only. The approval time of the Google review process.
+     * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getReviewApproveTimeOrBuilder() { + return reviewApproveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : reviewApproveTime_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getReviewApproveTime()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getReviewApproveTime()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + obj; + + if (hasReviewApproveTime() != other.hasReviewApproveTime()) return false; + if (hasReviewApproveTime()) { + if (!getReviewApproveTime().equals(other.getReviewApproveTime())) 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(); + if (hasReviewApproveTime()) { + hash = (37 * hash) + REVIEW_APPROVE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getReviewApproveTime().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + 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.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Information about the Google review process.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetReviewApproveTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + reviewApproveTime_ = null; + if (reviewApproveTimeBuilder_ != null) { + reviewApproveTimeBuilder_.dispose(); + reviewApproveTimeBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.reviewApproveTime_ = + reviewApproveTimeBuilder_ == null + ? reviewApproveTime_ + : reviewApproveTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance()) return this; + if (other.hasReviewApproveTime()) { + mergeReviewApproveTime(other.getReviewApproveTime()); + } + 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 18: + { + input.readMessage( + internalGetReviewApproveTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + 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 com.google.protobuf.Timestamp reviewApproveTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + reviewApproveTimeBuilder_; + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the reviewApproveTime field is set. + */ + public boolean hasReviewApproveTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The reviewApproveTime. + */ + public com.google.protobuf.Timestamp getReviewApproveTime() { + if (reviewApproveTimeBuilder_ == null) { + return reviewApproveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : reviewApproveTime_; + } else { + return reviewApproveTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setReviewApproveTime(com.google.protobuf.Timestamp value) { + if (reviewApproveTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + reviewApproveTime_ = value; + } else { + reviewApproveTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setReviewApproveTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (reviewApproveTimeBuilder_ == null) { + reviewApproveTime_ = builderForValue.build(); + } else { + reviewApproveTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeReviewApproveTime(com.google.protobuf.Timestamp value) { + if (reviewApproveTimeBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && reviewApproveTime_ != null + && reviewApproveTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getReviewApproveTimeBuilder().mergeFrom(value); + } else { + reviewApproveTime_ = value; + } + } else { + reviewApproveTimeBuilder_.mergeFrom(value); + } + if (reviewApproveTime_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearReviewApproveTime() { + bitField0_ = (bitField0_ & ~0x00000001); + reviewApproveTime_ = null; + if (reviewApproveTimeBuilder_ != null) { + reviewApproveTimeBuilder_.dispose(); + reviewApproveTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getReviewApproveTimeBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetReviewApproveTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getReviewApproveTimeOrBuilder() { + if (reviewApproveTimeBuilder_ != null) { + return reviewApproveTimeBuilder_.getMessageOrBuilder(); + } else { + return reviewApproveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : reviewApproveTime_; + } + } + + /** + * + * + *
+       * Output only. The approval time of the Google review process.
+       * 
+ * + * + * .google.protobuf.Timestamp review_approve_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetReviewApproveTimeFieldBuilder() { + if (reviewApproveTimeBuilder_ == null) { + reviewApproveTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getReviewApproveTime(), getParentForChildren(), isClean()); + reviewApproveTime_ = null; + } + return reviewApproveTimeBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PublishRequirementGoogleReview 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.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ResellerContactOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The name of the reseller contact for this offer.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The contact. + */ + java.lang.String getContact(); + + /** + * + * + *
+     * Output only. The name of the reseller contact for this offer.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for contact. + */ + com.google.protobuf.ByteString getContactBytes(); + + /** + * + * + *
+     * Output only. The email of the reseller contact for this offer.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The email. + */ + java.lang.String getEmail(); + + /** + * + * + *
+     * Output only. The email of the reseller contact for this offer.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for email. + */ + com.google.protobuf.ByteString getEmailBytes(); + } + + /** + * + * + *
+   * Contact information for a reseller.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact} + */ + public static final class ResellerContact extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) + ResellerContactOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ResellerContact"); + } + + // Use ResellerContact.newBuilder() to construct. + private ResellerContact(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ResellerContact() { + contact_ = ""; + email_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder.class); + } + + public static final int CONTACT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object contact_ = ""; + + /** + * + * + *
+     * Output only. The name of the reseller contact for this offer.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The contact. + */ + @java.lang.Override + public java.lang.String getContact() { + java.lang.Object ref = contact_; + 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(); + contact_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. The name of the reseller contact for this offer.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for contact. + */ + @java.lang.Override + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EMAIL_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object email_ = ""; + + /** + * + * + *
+     * Output only. The email of the reseller contact for this offer.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The email. + */ + @java.lang.Override + public java.lang.String getEmail() { + java.lang.Object ref = email_; + 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(); + email_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. The email of the reseller contact for this offer.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for email. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = 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.GeneratedMessage.isStringEmpty(contact_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, email_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(contact_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, email_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) obj; + + if (!getContact().equals(other.getContact())) return false; + if (!getEmail().equals(other.getEmail())) 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) + CONTACT_FIELD_NUMBER; + hash = (53 * hash) + getContact().hashCode(); + hash = (37 * hash) + EMAIL_FIELD_NUMBER; + hash = (53 * hash) + getEmail().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact 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.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Contact information for a reseller.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + contact_ = ""; + email_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.contact_ = contact_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.email_ = email_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + .getDefaultInstance()) return this; + if (!other.getContact().isEmpty()) { + contact_ = other.contact_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getEmail().isEmpty()) { + email_ = other.email_; + 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: + { + contact_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + email_ = 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 contact_ = ""; + + /** + * + * + *
+       * Output only. The name of the reseller contact for this offer.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The contact. + */ + public java.lang.String getContact() { + java.lang.Object ref = contact_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contact_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. The name of the reseller contact for this offer.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for contact. + */ + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. The name of the reseller contact for this offer.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The contact to set. + * @return This builder for chaining. + */ + public Builder setContact(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + contact_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The name of the reseller contact for this offer.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearContact() { + contact_ = getDefaultInstance().getContact(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The name of the reseller contact for this offer.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for contact to set. + * @return This builder for chaining. + */ + public Builder setContactBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + contact_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object email_ = ""; + + /** + * + * + *
+       * Output only. The email of the reseller contact for this offer.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The email. + */ + public java.lang.String getEmail() { + java.lang.Object ref = email_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + email_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. The email of the reseller contact for this offer.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for email. + */ + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. The email of the reseller contact for this offer.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The email to set. + * @return This builder for chaining. + */ + public Builder setEmail(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + email_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The email of the reseller contact for this offer.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearEmail() { + email_ = getDefaultInstance().getEmail(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The email of the reseller contact for this offer.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for email to set. + * @return This builder for chaining. + */ + public Builder setEmailBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + email_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ResellerContact 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.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface PartnerContactOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. Display text identifying the partner sales contact.
+     * Displayed to the customer.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + java.lang.String getContact(); + + /** + * + * + *
+     * Optional. Display text identifying the partner sales contact.
+     * Displayed to the customer.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + com.google.protobuf.ByteString getContactBytes(); + + /** + * + * + *
+     * Optional. The email address of the partner sales contact.
+     * Displayed to the customer.
+     * The format of the provided email address is validated when publishing the
+     * offer, but no verification is performed that the email address actually
+     * exists, accepts email, or is otherwise functional.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + java.lang.String getEmail(); + + /** + * + * + *
+     * Optional. The email address of the partner sales contact.
+     * Displayed to the customer.
+     * The format of the provided email address is validated when publishing the
+     * offer, but no verification is performed that the email address actually
+     * exists, accepts email, or is otherwise functional.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + com.google.protobuf.ByteString getEmailBytes(); + } + + /** + * + * + *
+   * Contact information for the partner representative.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact} + */ + public static final class PartnerContact extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) + PartnerContactOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PartnerContact"); + } + + // Use PartnerContact.newBuilder() to construct. + private PartnerContact(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PartnerContact() { + contact_ = ""; + email_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder.class); + } + + public static final int CONTACT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object contact_ = ""; + + /** + * + * + *
+     * Optional. Display text identifying the partner sales contact.
+     * Displayed to the customer.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + @java.lang.Override + public java.lang.String getContact() { + java.lang.Object ref = contact_; + 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(); + contact_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. Display text identifying the partner sales contact.
+     * Displayed to the customer.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + @java.lang.Override + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EMAIL_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object email_ = ""; + + /** + * + * + *
+     * Optional. The email address of the partner sales contact.
+     * Displayed to the customer.
+     * The format of the provided email address is validated when publishing the
+     * offer, but no verification is performed that the email address actually
+     * exists, accepts email, or is otherwise functional.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + @java.lang.Override + public java.lang.String getEmail() { + java.lang.Object ref = email_; + 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(); + email_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. The email address of the partner sales contact.
+     * Displayed to the customer.
+     * The format of the provided email address is validated when publishing the
+     * offer, but no verification is performed that the email address actually
+     * exists, accepts email, or is otherwise functional.
+     * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = 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.GeneratedMessage.isStringEmpty(contact_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, email_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(contact_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, email_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) obj; + + if (!getContact().equals(other.getContact())) return false; + if (!getEmail().equals(other.getEmail())) 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) + CONTACT_FIELD_NUMBER; + hash = (53 * hash) + getContact().hashCode(); + hash = (37 * hash) + EMAIL_FIELD_NUMBER; + hash = (53 * hash) + getEmail().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact 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.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Contact information for the partner representative.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + contact_ = ""; + email_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.contact_ = contact_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.email_ = email_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + .getDefaultInstance()) return this; + if (!other.getContact().isEmpty()) { + contact_ = other.contact_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getEmail().isEmpty()) { + email_ = other.email_; + 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: + { + contact_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + email_ = 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 contact_ = ""; + + /** + * + * + *
+       * Optional. Display text identifying the partner sales contact.
+       * Displayed to the customer.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + public java.lang.String getContact() { + java.lang.Object ref = contact_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contact_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. Display text identifying the partner sales contact.
+       * Displayed to the customer.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. Display text identifying the partner sales contact.
+       * Displayed to the customer.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The contact to set. + * @return This builder for chaining. + */ + public Builder setContact(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + contact_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Display text identifying the partner sales contact.
+       * Displayed to the customer.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearContact() { + contact_ = getDefaultInstance().getContact(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Display text identifying the partner sales contact.
+       * Displayed to the customer.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for contact to set. + * @return This builder for chaining. + */ + public Builder setContactBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + contact_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object email_ = ""; + + /** + * + * + *
+       * Optional. The email address of the partner sales contact.
+       * Displayed to the customer.
+       * The format of the provided email address is validated when publishing the
+       * offer, but no verification is performed that the email address actually
+       * exists, accepts email, or is otherwise functional.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + public java.lang.String getEmail() { + java.lang.Object ref = email_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + email_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. The email address of the partner sales contact.
+       * Displayed to the customer.
+       * The format of the provided email address is validated when publishing the
+       * offer, but no verification is performed that the email address actually
+       * exists, accepts email, or is otherwise functional.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. The email address of the partner sales contact.
+       * Displayed to the customer.
+       * The format of the provided email address is validated when publishing the
+       * offer, but no verification is performed that the email address actually
+       * exists, accepts email, or is otherwise functional.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The email to set. + * @return This builder for chaining. + */ + public Builder setEmail(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + email_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The email address of the partner sales contact.
+       * Displayed to the customer.
+       * The format of the provided email address is validated when publishing the
+       * offer, but no verification is performed that the email address actually
+       * exists, accepts email, or is otherwise functional.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEmail() { + email_ = getDefaultInstance().getEmail(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The email address of the partner sales contact.
+       * Displayed to the customer.
+       * The format of the provided email address is validated when publishing the
+       * offer, but no verification is performed that the email address actually
+       * exists, accepts email, or is otherwise functional.
+       * 
+ * + * string email = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for email to set. + * @return This builder for chaining. + */ + public Builder setEmailBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + email_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PartnerContact 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.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CustomerOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. A string identifying the customer's entity (for example, the
+     * customer's organization or company name). Must be provided when
+     * publishing the offer. Maximum length: 256 characters.
+     * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The entityTitle. + */ + java.lang.String getEntityTitle(); + + /** + * + * + *
+     * Optional. A string identifying the customer's entity (for example, the
+     * customer's organization or company name). Must be provided when
+     * publishing the offer. Maximum length: 256 characters.
+     * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for entityTitle. + */ + com.google.protobuf.ByteString getEntityTitleBytes(); + + /** + * + * + *
+     * Optional. A string identifying the customer contact.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + java.lang.String getContact(); + + /** + * + * + *
+     * Optional. A string identifying the customer contact.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + com.google.protobuf.ByteString getContactBytes(); + + /** + * + * + *
+     * Optional. Email of customer contact.
+     * If provided, it must be a well-formed email address.
+     * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + java.lang.String getEmail(); + + /** + * + * + *
+     * Optional. Email of customer contact.
+     * If provided, it must be a well-formed email address.
+     * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + com.google.protobuf.ByteString getEmailBytes(); + + /** + * + * + *
+     * Output only. Legal address of the customer organization.
+     * This field can no longer be set, but it is preserved to return the
+     * data from existing offers where address is set.
+     * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is deprecated. + * See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The address. + */ + @java.lang.Deprecated + java.lang.String getAddress(); + + /** + * + * + *
+     * Output only. Legal address of the customer organization.
+     * This field can no longer be set, but it is preserved to return the
+     * data from existing offers where address is set.
+     * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is deprecated. + * See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The bytes for address. + */ + @java.lang.Deprecated + com.google.protobuf.ByteString getAddressBytes(); + + /** + * + * + *
+     * Optional. The customer's billing account targeted by the offer.
+     * The private offer once published can be accepted by a billing
+     * administrator of the target billing account. If the customer accepts the
+     * offer and later moves the resulting order to a new billing account, this
+     * field will continue to reflect the original billing account to which the
+     * private offer was extended. Must be provided when publishing the offer.
+     *
+     * To publish this private offer:
+     *
+     * * The billing account must exist.
+     * * The billing account must not be in a free trial.
+     * * The billing account must comply with Marketplace Reselling Policies.
+     * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+     * are prohibited unless the service is enabled for reselling.
+     *
+     * Format: billingAccounts/012345-567890-ABCDEF
+     * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The targetBillingAccount. + */ + java.lang.String getTargetBillingAccount(); + + /** + * + * + *
+     * Optional. The customer's billing account targeted by the offer.
+     * The private offer once published can be accepted by a billing
+     * administrator of the target billing account. If the customer accepts the
+     * offer and later moves the resulting order to a new billing account, this
+     * field will continue to reflect the original billing account to which the
+     * private offer was extended. Must be provided when publishing the offer.
+     *
+     * To publish this private offer:
+     *
+     * * The billing account must exist.
+     * * The billing account must not be in a free trial.
+     * * The billing account must comply with Marketplace Reselling Policies.
+     * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+     * are prohibited unless the service is enabled for reselling.
+     *
+     * Format: billingAccounts/012345-567890-ABCDEF
+     * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for targetBillingAccount. + */ + com.google.protobuf.ByteString getTargetBillingAccountBytes(); + } + + /** + * + * + *
+   * Information about the customer.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Customer} + */ + public static final class Customer extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) + CustomerOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Customer"); + } + + // Use Customer.newBuilder() to construct. + private Customer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Customer() { + entityTitle_ = ""; + contact_ = ""; + email_ = ""; + address_ = ""; + targetBillingAccount_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder.class); + } + + public static final int ENTITY_TITLE_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object entityTitle_ = ""; + + /** + * + * + *
+     * Optional. A string identifying the customer's entity (for example, the
+     * customer's organization or company name). Must be provided when
+     * publishing the offer. Maximum length: 256 characters.
+     * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The entityTitle. + */ + @java.lang.Override + public java.lang.String getEntityTitle() { + java.lang.Object ref = entityTitle_; + 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(); + entityTitle_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. A string identifying the customer's entity (for example, the
+     * customer's organization or company name). Must be provided when
+     * publishing the offer. Maximum length: 256 characters.
+     * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for entityTitle. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEntityTitleBytes() { + java.lang.Object ref = entityTitle_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + entityTitle_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CONTACT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object contact_ = ""; + + /** + * + * + *
+     * Optional. A string identifying the customer contact.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + @java.lang.Override + public java.lang.String getContact() { + java.lang.Object ref = contact_; + 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(); + contact_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. A string identifying the customer contact.
+     * Must be provided when publishing the offer.
+     * Maximum length: 256 characters.
+     * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + @java.lang.Override + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EMAIL_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object email_ = ""; + + /** + * + * + *
+     * Optional. Email of customer contact.
+     * If provided, it must be a well-formed email address.
+     * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + @java.lang.Override + public java.lang.String getEmail() { + java.lang.Object ref = email_; + 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(); + email_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. Email of customer contact.
+     * If provided, it must be a well-formed email address.
+     * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ADDRESS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object address_ = ""; + + /** + * + * + *
+     * Output only. Legal address of the customer organization.
+     * This field can no longer be set, but it is preserved to return the
+     * data from existing offers where address is set.
+     * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is deprecated. + * See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The address. + */ + @java.lang.Override + @java.lang.Deprecated + public java.lang.String getAddress() { + java.lang.Object ref = address_; + 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(); + address_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. Legal address of the customer organization.
+     * This field can no longer be set, but it is preserved to return the
+     * data from existing offers where address is set.
+     * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is deprecated. + * See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The bytes for address. + */ + @java.lang.Override + @java.lang.Deprecated + public com.google.protobuf.ByteString getAddressBytes() { + java.lang.Object ref = address_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + address_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TARGET_BILLING_ACCOUNT_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object targetBillingAccount_ = ""; + + /** + * + * + *
+     * Optional. The customer's billing account targeted by the offer.
+     * The private offer once published can be accepted by a billing
+     * administrator of the target billing account. If the customer accepts the
+     * offer and later moves the resulting order to a new billing account, this
+     * field will continue to reflect the original billing account to which the
+     * private offer was extended. Must be provided when publishing the offer.
+     *
+     * To publish this private offer:
+     *
+     * * The billing account must exist.
+     * * The billing account must not be in a free trial.
+     * * The billing account must comply with Marketplace Reselling Policies.
+     * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+     * are prohibited unless the service is enabled for reselling.
+     *
+     * Format: billingAccounts/012345-567890-ABCDEF
+     * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The targetBillingAccount. + */ + @java.lang.Override + public java.lang.String getTargetBillingAccount() { + java.lang.Object ref = targetBillingAccount_; + 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(); + targetBillingAccount_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. The customer's billing account targeted by the offer.
+     * The private offer once published can be accepted by a billing
+     * administrator of the target billing account. If the customer accepts the
+     * offer and later moves the resulting order to a new billing account, this
+     * field will continue to reflect the original billing account to which the
+     * private offer was extended. Must be provided when publishing the offer.
+     *
+     * To publish this private offer:
+     *
+     * * The billing account must exist.
+     * * The billing account must not be in a free trial.
+     * * The billing account must comply with Marketplace Reselling Policies.
+     * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+     * are prohibited unless the service is enabled for reselling.
+     *
+     * Format: billingAccounts/012345-567890-ABCDEF
+     * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for targetBillingAccount. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBillingAccountBytes() { + java.lang.Object ref = targetBillingAccount_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + targetBillingAccount_ = 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.GeneratedMessage.isStringEmpty(entityTitle_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, entityTitle_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(contact_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, email_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(address_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, address_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(targetBillingAccount_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, targetBillingAccount_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(entityTitle_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, entityTitle_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(contact_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, contact_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, email_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(address_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, address_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(targetBillingAccount_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, targetBillingAccount_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.Customer)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) obj; + + if (!getEntityTitle().equals(other.getEntityTitle())) return false; + if (!getContact().equals(other.getContact())) return false; + if (!getEmail().equals(other.getEmail())) return false; + if (!getAddress().equals(other.getAddress())) return false; + if (!getTargetBillingAccount().equals(other.getTargetBillingAccount())) 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) + ENTITY_TITLE_FIELD_NUMBER; + hash = (53 * hash) + getEntityTitle().hashCode(); + hash = (37 * hash) + CONTACT_FIELD_NUMBER; + hash = (53 * hash) + getContact().hashCode(); + hash = (37 * hash) + EMAIL_FIELD_NUMBER; + hash = (53 * hash) + getEmail().hashCode(); + hash = (37 * hash) + ADDRESS_FIELD_NUMBER; + hash = (53 * hash) + getAddress().hashCode(); + hash = (37 * hash) + TARGET_BILLING_ACCOUNT_FIELD_NUMBER; + hash = (53 * hash) + getTargetBillingAccount().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer 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.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.Customer 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Information about the customer.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Customer} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + entityTitle_ = ""; + contact_ = ""; + email_ = ""; + address_ = ""; + targetBillingAccount_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.entityTitle_ = entityTitle_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.contact_ = contact_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.email_ = email_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.address_ = address_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.targetBillingAccount_ = targetBillingAccount_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance()) + return this; + if (!other.getEntityTitle().isEmpty()) { + entityTitle_ = other.entityTitle_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getContact().isEmpty()) { + contact_ = other.contact_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getEmail().isEmpty()) { + email_ = other.email_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getAddress().isEmpty()) { + address_ = other.address_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getTargetBillingAccount().isEmpty()) { + targetBillingAccount_ = other.targetBillingAccount_; + bitField0_ |= 0x00000010; + 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: + { + entityTitle_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + contact_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + email_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + address_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + targetBillingAccount_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + 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 entityTitle_ = ""; + + /** + * + * + *
+       * Optional. A string identifying the customer's entity (for example, the
+       * customer's organization or company name). Must be provided when
+       * publishing the offer. Maximum length: 256 characters.
+       * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The entityTitle. + */ + public java.lang.String getEntityTitle() { + java.lang.Object ref = entityTitle_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + entityTitle_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. A string identifying the customer's entity (for example, the
+       * customer's organization or company name). Must be provided when
+       * publishing the offer. Maximum length: 256 characters.
+       * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for entityTitle. + */ + public com.google.protobuf.ByteString getEntityTitleBytes() { + java.lang.Object ref = entityTitle_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + entityTitle_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. A string identifying the customer's entity (for example, the
+       * customer's organization or company name). Must be provided when
+       * publishing the offer. Maximum length: 256 characters.
+       * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The entityTitle to set. + * @return This builder for chaining. + */ + public Builder setEntityTitle(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + entityTitle_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. A string identifying the customer's entity (for example, the
+       * customer's organization or company name). Must be provided when
+       * publishing the offer. Maximum length: 256 characters.
+       * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEntityTitle() { + entityTitle_ = getDefaultInstance().getEntityTitle(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. A string identifying the customer's entity (for example, the
+       * customer's organization or company name). Must be provided when
+       * publishing the offer. Maximum length: 256 characters.
+       * 
+ * + * string entity_title = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for entityTitle to set. + * @return This builder for chaining. + */ + public Builder setEntityTitleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + entityTitle_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object contact_ = ""; + + /** + * + * + *
+       * Optional. A string identifying the customer contact.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The contact. + */ + public java.lang.String getContact() { + java.lang.Object ref = contact_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + contact_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. A string identifying the customer contact.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for contact. + */ + public com.google.protobuf.ByteString getContactBytes() { + java.lang.Object ref = contact_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + contact_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. A string identifying the customer contact.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The contact to set. + * @return This builder for chaining. + */ + public Builder setContact(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + contact_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. A string identifying the customer contact.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearContact() { + contact_ = getDefaultInstance().getContact(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. A string identifying the customer contact.
+       * Must be provided when publishing the offer.
+       * Maximum length: 256 characters.
+       * 
+ * + * string contact = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for contact to set. + * @return This builder for chaining. + */ + public Builder setContactBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + contact_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object email_ = ""; + + /** + * + * + *
+       * Optional. Email of customer contact.
+       * If provided, it must be a well-formed email address.
+       * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The email. + */ + public java.lang.String getEmail() { + java.lang.Object ref = email_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + email_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. Email of customer contact.
+       * If provided, it must be a well-formed email address.
+       * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for email. + */ + public com.google.protobuf.ByteString getEmailBytes() { + java.lang.Object ref = email_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + email_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. Email of customer contact.
+       * If provided, it must be a well-formed email address.
+       * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The email to set. + * @return This builder for chaining. + */ + public Builder setEmail(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + email_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Email of customer contact.
+       * If provided, it must be a well-formed email address.
+       * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearEmail() { + email_ = getDefaultInstance().getEmail(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Email of customer contact.
+       * If provided, it must be a well-formed email address.
+       * 
+ * + * string email = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for email to set. + * @return This builder for chaining. + */ + public Builder setEmailBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + email_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object address_ = ""; + + /** + * + * + *
+       * Output only. Legal address of the customer organization.
+       * This field can no longer be set, but it is preserved to return the
+       * data from existing offers where address is set.
+       * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The address. + */ + @java.lang.Deprecated + public java.lang.String getAddress() { + java.lang.Object ref = address_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + address_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. Legal address of the customer organization.
+       * This field can no longer be set, but it is preserved to return the
+       * data from existing offers where address is set.
+       * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return The bytes for address. + */ + @java.lang.Deprecated + public com.google.protobuf.ByteString getAddressBytes() { + java.lang.Object ref = address_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + address_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. Legal address of the customer organization.
+       * This field can no longer be set, but it is preserved to return the
+       * data from existing offers where address is set.
+       * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @param value The address to set. + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder setAddress(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + address_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Legal address of the customer organization.
+       * This field can no longer be set, but it is preserved to return the
+       * data from existing offers where address is set.
+       * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder clearAddress() { + address_ = getDefaultInstance().getAddress(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Legal address of the customer organization.
+       * This field can no longer be set, but it is preserved to return the
+       * data from existing offers where address is set.
+       * 
+ * + * string address = 4 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.address is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=96 + * @param value The bytes for address to set. + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder setAddressBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + address_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object targetBillingAccount_ = ""; + + /** + * + * + *
+       * Optional. The customer's billing account targeted by the offer.
+       * The private offer once published can be accepted by a billing
+       * administrator of the target billing account. If the customer accepts the
+       * offer and later moves the resulting order to a new billing account, this
+       * field will continue to reflect the original billing account to which the
+       * private offer was extended. Must be provided when publishing the offer.
+       *
+       * To publish this private offer:
+       *
+       * * The billing account must exist.
+       * * The billing account must not be in a free trial.
+       * * The billing account must comply with Marketplace Reselling Policies.
+       * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+       * are prohibited unless the service is enabled for reselling.
+       *
+       * Format: billingAccounts/012345-567890-ABCDEF
+       * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The targetBillingAccount. + */ + public java.lang.String getTargetBillingAccount() { + java.lang.Object ref = targetBillingAccount_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + targetBillingAccount_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. The customer's billing account targeted by the offer.
+       * The private offer once published can be accepted by a billing
+       * administrator of the target billing account. If the customer accepts the
+       * offer and later moves the resulting order to a new billing account, this
+       * field will continue to reflect the original billing account to which the
+       * private offer was extended. Must be provided when publishing the offer.
+       *
+       * To publish this private offer:
+       *
+       * * The billing account must exist.
+       * * The billing account must not be in a free trial.
+       * * The billing account must comply with Marketplace Reselling Policies.
+       * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+       * are prohibited unless the service is enabled for reselling.
+       *
+       * Format: billingAccounts/012345-567890-ABCDEF
+       * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for targetBillingAccount. + */ + public com.google.protobuf.ByteString getTargetBillingAccountBytes() { + java.lang.Object ref = targetBillingAccount_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + targetBillingAccount_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. The customer's billing account targeted by the offer.
+       * The private offer once published can be accepted by a billing
+       * administrator of the target billing account. If the customer accepts the
+       * offer and later moves the resulting order to a new billing account, this
+       * field will continue to reflect the original billing account to which the
+       * private offer was extended. Must be provided when publishing the offer.
+       *
+       * To publish this private offer:
+       *
+       * * The billing account must exist.
+       * * The billing account must not be in a free trial.
+       * * The billing account must comply with Marketplace Reselling Policies.
+       * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+       * are prohibited unless the service is enabled for reselling.
+       *
+       * Format: billingAccounts/012345-567890-ABCDEF
+       * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The targetBillingAccount to set. + * @return This builder for chaining. + */ + public Builder setTargetBillingAccount(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetBillingAccount_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The customer's billing account targeted by the offer.
+       * The private offer once published can be accepted by a billing
+       * administrator of the target billing account. If the customer accepts the
+       * offer and later moves the resulting order to a new billing account, this
+       * field will continue to reflect the original billing account to which the
+       * private offer was extended. Must be provided when publishing the offer.
+       *
+       * To publish this private offer:
+       *
+       * * The billing account must exist.
+       * * The billing account must not be in a free trial.
+       * * The billing account must comply with Marketplace Reselling Policies.
+       * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+       * are prohibited unless the service is enabled for reselling.
+       *
+       * Format: billingAccounts/012345-567890-ABCDEF
+       * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearTargetBillingAccount() { + targetBillingAccount_ = getDefaultInstance().getTargetBillingAccount(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The customer's billing account targeted by the offer.
+       * The private offer once published can be accepted by a billing
+       * administrator of the target billing account. If the customer accepts the
+       * offer and later moves the resulting order to a new billing account, this
+       * field will continue to reflect the original billing account to which the
+       * private offer was extended. Must be provided when publishing the offer.
+       *
+       * To publish this private offer:
+       *
+       * * The billing account must exist.
+       * * The billing account must not be in a free trial.
+       * * The billing account must comply with Marketplace Reselling Policies.
+       * * Reseller parent billing accounts are prohibited. Reseller subaccounts
+       * are prohibited unless the service is enabled for reselling.
+       *
+       * Format: billingAccounts/012345-567890-ABCDEF
+       * 
+ * + * + * string target_billing_account = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for targetBillingAccount to set. + * @return This builder for chaining. + */ + public Builder setTargetBillingAccountBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetBillingAccount_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Customer) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Customer 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.cloud.commerceproducer.v1beta.PrivateOffer.Customer + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface TermOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.Term) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. Duration in months of the offer term.
+     * The offer will end on the same day of the month after this duration. If
+     * that date is not available, the offer will end on the last day of the
+     * month. For example, if the offer starts on 01/31/2024 and the duration
+     * is 13 months, the offer will end on 02/28/2025.
+     * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+     * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+     *
+     * The maximum possible offer duration, including all renewal terms,
+     * cannot exceed 7 years. For example, if `duration_months` is 9 and
+     * `term.max_renewal_count` is 9, then the maximum possible offer duration
+     * is 90 months and exceeds the 7 year limit.
+     * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the durationMonths field is set. + */ + boolean hasDurationMonths(); + + /** + * + * + *
+     * Optional. Duration in months of the offer term.
+     * The offer will end on the same day of the month after this duration. If
+     * that date is not available, the offer will end on the last day of the
+     * month. For example, if the offer starts on 01/31/2024 and the duration
+     * is 13 months, the offer will end on 02/28/2025.
+     * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+     * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+     *
+     * The maximum possible offer duration, including all renewal terms,
+     * cannot exceed 7 years. For example, if `duration_months` is 9 and
+     * `term.max_renewal_count` is 9, then the maximum possible offer duration
+     * is 90 months and exceeds the 7 year limit.
+     * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The durationMonths. + */ + int getDurationMonths(); + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledEndTime field is set. + */ + boolean hasScheduledEndTime(); + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledEndTime. + */ + com.google.type.DateTime getScheduledEndTime(); + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DateTimeOrBuilder getScheduledEndTimeOrBuilder(); + + /** + * + * + *
+     * Optional. The max number of renewals allowed, after the initial term
+     * ends. This field is only relevant to standard interval offers with
+     * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+     * offers cannot be renewed.
+     *
+     * For example, if the initial term is 1 year and the max renewals is 3,
+     * the customer can renew the offer for up to 3 additional years after the
+     * initial term ends. Customers control whether they renew the offer.
+     *
+     * Allowing a customer to renew an offer does not constitute a guarantee
+     * to the customer that the offered product will still be available to be
+     * renewed at the renewal date.
+     *
+     * An offer with a max renewal count of 0 cannot be renewed.
+     * Must be non-negative.
+     * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the maxRenewalCount field is set. + */ + boolean hasMaxRenewalCount(); + + /** + * + * + *
+     * Optional. The max number of renewals allowed, after the initial term
+     * ends. This field is only relevant to standard interval offers with
+     * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+     * offers cannot be renewed.
+     *
+     * For example, if the initial term is 1 year and the max renewals is 3,
+     * the customer can renew the offer for up to 3 additional years after the
+     * initial term ends. Customers control whether they renew the offer.
+     *
+     * Allowing a customer to renew an offer does not constitute a guarantee
+     * to the customer that the offered product will still be available to be
+     * renewed at the renewal date.
+     *
+     * An offer with a max renewal count of 0 cannot be renewed.
+     * Must be non-negative.
+     * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The maxRenewalCount. + */ + int getMaxRenewalCount(); + + /** + * + * + *
+     * Output only. Deprecated: This field can only be true on existing offers
+     * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+     * longer allow unlimited renewals.
+     * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return Whether the unlimitedRenewal field is set. + */ + @java.lang.Deprecated + boolean hasUnlimitedRenewal(); + + /** + * + * + *
+     * Output only. Deprecated: This field can only be true on existing offers
+     * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+     * longer allow unlimited renewals.
+     * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return The unlimitedRenewal. + */ + @java.lang.Deprecated + boolean getUnlimitedRenewal(); + + /** + * + * + *
+     * Optional. Defines when the resulting order should start.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for startPolicy. + */ + int getStartPolicyValue(); + + /** + * + * + *
+     * Optional. Defines when the resulting order should start.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startPolicy. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy getStartPolicy(); + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledStartTime field is set. + */ + boolean hasScheduledStartTime(); + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledStartTime. + */ + com.google.type.DateTime getScheduledStartTime(); + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DateTimeOrBuilder getScheduledStartTimeOrBuilder(); + + /** + * + * + *
+     * Optional. Defines when an offer should end.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for endPolicy. + */ + int getEndPolicyValue(); + + /** + * + * + *
+     * Optional. Defines when an offer should end.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endPolicy. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy getEndPolicy(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicyDataCase + getEndPolicyDataCase(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.RenewalCase getRenewalCase(); + } + + /** + * + * + *
+   * Configurations for the offer term and renewal options.
+   * Extending a private offer to a customer that covers a given term
+   * constitutes a guarantee to the customer that the product will remain
+   * available to them for the duration of the term.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Term} + */ + public static final class Term extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.Term) + TermOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Term"); + } + + // Use Term.newBuilder() to construct. + private Term(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Term() { + startPolicy_ = 0; + endPolicy_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder.class); + } + + /** + * + * + *
+     * Defines when an offer should start.
+     * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy} + */ + public enum StartPolicy implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Default value. This value is unused.
+       * 
+ * + * START_POLICY_UNSPECIFIED = 0; + */ + START_POLICY_UNSPECIFIED(0), + /** + * + * + *
+       * The resulting order starts immediately upon the customer's acceptance
+       * of the offer, if no partner approval is required, or else immediately
+       * after the partner approves the purchase if order approval is required.
+       * This enum value cannot be combined with `term.scheduled_start_time`.
+       * 
+ * + * IMMEDIATE = 1; + */ + IMMEDIATE(1), + /** + * + * + *
+       * The resulting order starts at the scheduled start time.
+       * 
+ * + * SCHEDULED_START_TIME = 2; + */ + SCHEDULED_START_TIME(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StartPolicy"); + } + + /** + * + * + *
+       * Default value. This value is unused.
+       * 
+ * + * START_POLICY_UNSPECIFIED = 0; + */ + public static final int START_POLICY_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * The resulting order starts immediately upon the customer's acceptance
+       * of the offer, if no partner approval is required, or else immediately
+       * after the partner approves the purchase if order approval is required.
+       * This enum value cannot be combined with `term.scheduled_start_time`.
+       * 
+ * + * IMMEDIATE = 1; + */ + public static final int IMMEDIATE_VALUE = 1; + + /** + * + * + *
+       * The resulting order starts at the scheduled start time.
+       * 
+ * + * SCHEDULED_START_TIME = 2; + */ + public static final int SCHEDULED_START_TIME_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static StartPolicy valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static StartPolicy forNumber(int value) { + switch (value) { + case 0: + return START_POLICY_UNSPECIFIED; + case 1: + return IMMEDIATE; + case 2: + return SCHEDULED_START_TIME; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public StartPolicy findValueByNumber(int number) { + return StartPolicy.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final StartPolicy[] VALUES = values(); + + public static StartPolicy valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private StartPolicy(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy) + } + + /** + * + * + *
+     * Defines when an offer should end.
+     * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy} + */ + public enum EndPolicy implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Default value. This value is unused.
+       * 
+ * + * END_POLICY_UNSPECIFIED = 0; + */ + END_POLICY_UNSPECIFIED(0), + /** + * + * + *
+       * Offer ends after the specified duration.
+       * If this is set, then `duration_months` must be positive.
+       * 
+ * + * AFTER_DURATION = 1; + */ + AFTER_DURATION(1), + /** + * + * + *
+       * Offer ends at the schduled time.
+       * 
+ * + * SCHEDULED_END_TIME = 2; + */ + SCHEDULED_END_TIME(2), + /** + * + * + *
+       * Offer coterms to the amended offer - the offer ends at the end of the
+       * amended offer's term
+       *
+       * For example, if the amended offer starts on 01/15/24, and has a
+       * duration of 6 months, then it ends on 07/15/24. If the current offer
+       * coterms to the previous offer, and the current offer starts on
+       * 05/06/24, then it will still end on 07/15/24. Assuming the current
+       * offer renews 3 times, then the terms on the current offer will be:
+       *
+       * 1. 05/06/24 - 07/15/24 (First term, ends on 07/15 to coterm with the
+       * amended offer)
+       * 2. 07/15/24 - 01/15/25 (First renewal term)
+       * 3. 01/15/25 - 07/15/25 (Second renewal term)
+       * 4. 07/15/25 - 01/15/26 (Third renewal term)
+       *
+       * As a contrast, if the current offer does not coterm with the amended
+       * offer (such as when `end_policy` is `AFTER_DURATION`), then the
+       * terms will be:
+       *
+       * 1. 05/06/24 - 11/06/24 (First term, ends on 11/06, no coterming)
+       * 2. 11/06/24 - 05/06/25 (First renewal term)
+       * 3. 05/06/25 - 11/06/25 (Second renewal term)
+       * 4. 11/06/25 - 05/06/26 (Third renewal term)
+       *
+       * If this is set, then the following conditions must be met:
+       *
+       * * `single_product_offer.amended_private_offer` must be set, and the
+       * amended private offer must not be ended.
+       * * The proration policy must not change (e.g., you cannot switch
+       * between `MONTHLY_PRORATED` and `MONTHLY_NOT_PRORATED`).
+       * * The current offer must not have custom intervals (where
+       * `custom_interval_price` is set).
+       * * `term.duration_months` must match the amended private offer's
+       * duration.
+       * * The amended private offer must not have a standard interval
+       * of `MONTHLY_POSTPAY`.
+       *
+       * This is currently not supported.
+       * 
+ * + * MATCH_AMENDED_OFFER = 3; + */ + MATCH_AMENDED_OFFER(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "EndPolicy"); + } + + /** + * + * + *
+       * Default value. This value is unused.
+       * 
+ * + * END_POLICY_UNSPECIFIED = 0; + */ + public static final int END_POLICY_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * Offer ends after the specified duration.
+       * If this is set, then `duration_months` must be positive.
+       * 
+ * + * AFTER_DURATION = 1; + */ + public static final int AFTER_DURATION_VALUE = 1; + + /** + * + * + *
+       * Offer ends at the schduled time.
+       * 
+ * + * SCHEDULED_END_TIME = 2; + */ + public static final int SCHEDULED_END_TIME_VALUE = 2; + + /** + * + * + *
+       * Offer coterms to the amended offer - the offer ends at the end of the
+       * amended offer's term
+       *
+       * For example, if the amended offer starts on 01/15/24, and has a
+       * duration of 6 months, then it ends on 07/15/24. If the current offer
+       * coterms to the previous offer, and the current offer starts on
+       * 05/06/24, then it will still end on 07/15/24. Assuming the current
+       * offer renews 3 times, then the terms on the current offer will be:
+       *
+       * 1. 05/06/24 - 07/15/24 (First term, ends on 07/15 to coterm with the
+       * amended offer)
+       * 2. 07/15/24 - 01/15/25 (First renewal term)
+       * 3. 01/15/25 - 07/15/25 (Second renewal term)
+       * 4. 07/15/25 - 01/15/26 (Third renewal term)
+       *
+       * As a contrast, if the current offer does not coterm with the amended
+       * offer (such as when `end_policy` is `AFTER_DURATION`), then the
+       * terms will be:
+       *
+       * 1. 05/06/24 - 11/06/24 (First term, ends on 11/06, no coterming)
+       * 2. 11/06/24 - 05/06/25 (First renewal term)
+       * 3. 05/06/25 - 11/06/25 (Second renewal term)
+       * 4. 11/06/25 - 05/06/26 (Third renewal term)
+       *
+       * If this is set, then the following conditions must be met:
+       *
+       * * `single_product_offer.amended_private_offer` must be set, and the
+       * amended private offer must not be ended.
+       * * The proration policy must not change (e.g., you cannot switch
+       * between `MONTHLY_PRORATED` and `MONTHLY_NOT_PRORATED`).
+       * * The current offer must not have custom intervals (where
+       * `custom_interval_price` is set).
+       * * `term.duration_months` must match the amended private offer's
+       * duration.
+       * * The amended private offer must not have a standard interval
+       * of `MONTHLY_POSTPAY`.
+       *
+       * This is currently not supported.
+       * 
+ * + * MATCH_AMENDED_OFFER = 3; + */ + public static final int MATCH_AMENDED_OFFER_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static EndPolicy valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static EndPolicy forNumber(int value) { + switch (value) { + case 0: + return END_POLICY_UNSPECIFIED; + case 1: + return AFTER_DURATION; + case 2: + return SCHEDULED_END_TIME; + case 3: + return MATCH_AMENDED_OFFER; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public EndPolicy findValueByNumber(int number) { + return EndPolicy.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final EndPolicy[] VALUES = values(); + + public static EndPolicy valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private EndPolicy(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy) + } + + private int bitField0_; + private int endPolicyDataCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object endPolicyData_; + + public enum EndPolicyDataCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + DURATION_MONTHS(4), + SCHEDULED_END_TIME(5), + ENDPOLICYDATA_NOT_SET(0); + private final int value; + + private EndPolicyDataCase(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 EndPolicyDataCase valueOf(int value) { + return forNumber(value); + } + + public static EndPolicyDataCase forNumber(int value) { + switch (value) { + case 4: + return DURATION_MONTHS; + case 5: + return SCHEDULED_END_TIME; + case 0: + return ENDPOLICYDATA_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public EndPolicyDataCase getEndPolicyDataCase() { + return EndPolicyDataCase.forNumber(endPolicyDataCase_); + } + + private int renewalCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object renewal_; + + public enum RenewalCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + MAX_RENEWAL_COUNT(6), + @java.lang.Deprecated + UNLIMITED_RENEWAL(7), + RENEWAL_NOT_SET(0); + private final int value; + + private RenewalCase(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 RenewalCase valueOf(int value) { + return forNumber(value); + } + + public static RenewalCase forNumber(int value) { + switch (value) { + case 6: + return MAX_RENEWAL_COUNT; + case 7: + return UNLIMITED_RENEWAL; + case 0: + return RENEWAL_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public RenewalCase getRenewalCase() { + return RenewalCase.forNumber(renewalCase_); + } + + public static final int DURATION_MONTHS_FIELD_NUMBER = 4; + + /** + * + * + *
+     * Optional. Duration in months of the offer term.
+     * The offer will end on the same day of the month after this duration. If
+     * that date is not available, the offer will end on the last day of the
+     * month. For example, if the offer starts on 01/31/2024 and the duration
+     * is 13 months, the offer will end on 02/28/2025.
+     * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+     * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+     *
+     * The maximum possible offer duration, including all renewal terms,
+     * cannot exceed 7 years. For example, if `duration_months` is 9 and
+     * `term.max_renewal_count` is 9, then the maximum possible offer duration
+     * is 90 months and exceeds the 7 year limit.
+     * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the durationMonths field is set. + */ + @java.lang.Override + public boolean hasDurationMonths() { + return endPolicyDataCase_ == 4; + } + + /** + * + * + *
+     * Optional. Duration in months of the offer term.
+     * The offer will end on the same day of the month after this duration. If
+     * that date is not available, the offer will end on the last day of the
+     * month. For example, if the offer starts on 01/31/2024 and the duration
+     * is 13 months, the offer will end on 02/28/2025.
+     * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+     * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+     *
+     * The maximum possible offer duration, including all renewal terms,
+     * cannot exceed 7 years. For example, if `duration_months` is 9 and
+     * `term.max_renewal_count` is 9, then the maximum possible offer duration
+     * is 90 months and exceeds the 7 year limit.
+     * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The durationMonths. + */ + @java.lang.Override + public int getDurationMonths() { + if (endPolicyDataCase_ == 4) { + return (java.lang.Integer) endPolicyData_; + } + return 0; + } + + public static final int SCHEDULED_END_TIME_FIELD_NUMBER = 5; + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledEndTime field is set. + */ + @java.lang.Override + public boolean hasScheduledEndTime() { + return endPolicyDataCase_ == 5; + } + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledEndTime. + */ + @java.lang.Override + public com.google.type.DateTime getScheduledEndTime() { + if (endPolicyDataCase_ == 5) { + return (com.google.type.DateTime) endPolicyData_; + } + return com.google.type.DateTime.getDefaultInstance(); + } + + /** + * + * + *
+     * Optional. Specified end time of the offer.
+     * Must be set to publish the offer if the end policy is
+     * `SCHEDULED_END_TIME`.
+     * When set, the time must be in the future and at a day boundary in the
+     * America/Los_Angeles time zone, and must be after
+     * `term.scheduled_start_time` if applicable.
+     * 
+ * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DateTimeOrBuilder getScheduledEndTimeOrBuilder() { + if (endPolicyDataCase_ == 5) { + return (com.google.type.DateTime) endPolicyData_; + } + return com.google.type.DateTime.getDefaultInstance(); + } + + public static final int MAX_RENEWAL_COUNT_FIELD_NUMBER = 6; + + /** + * + * + *
+     * Optional. The max number of renewals allowed, after the initial term
+     * ends. This field is only relevant to standard interval offers with
+     * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+     * offers cannot be renewed.
+     *
+     * For example, if the initial term is 1 year and the max renewals is 3,
+     * the customer can renew the offer for up to 3 additional years after the
+     * initial term ends. Customers control whether they renew the offer.
+     *
+     * Allowing a customer to renew an offer does not constitute a guarantee
+     * to the customer that the offered product will still be available to be
+     * renewed at the renewal date.
+     *
+     * An offer with a max renewal count of 0 cannot be renewed.
+     * Must be non-negative.
+     * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the maxRenewalCount field is set. + */ + @java.lang.Override + public boolean hasMaxRenewalCount() { + return renewalCase_ == 6; + } + + /** + * + * + *
+     * Optional. The max number of renewals allowed, after the initial term
+     * ends. This field is only relevant to standard interval offers with
+     * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+     * offers cannot be renewed.
+     *
+     * For example, if the initial term is 1 year and the max renewals is 3,
+     * the customer can renew the offer for up to 3 additional years after the
+     * initial term ends. Customers control whether they renew the offer.
+     *
+     * Allowing a customer to renew an offer does not constitute a guarantee
+     * to the customer that the offered product will still be available to be
+     * renewed at the renewal date.
+     *
+     * An offer with a max renewal count of 0 cannot be renewed.
+     * Must be non-negative.
+     * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The maxRenewalCount. + */ + @java.lang.Override + public int getMaxRenewalCount() { + if (renewalCase_ == 6) { + return (java.lang.Integer) renewal_; + } + return 0; + } + + public static final int UNLIMITED_RENEWAL_FIELD_NUMBER = 7; + + /** + * + * + *
+     * Output only. Deprecated: This field can only be true on existing offers
+     * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+     * longer allow unlimited renewals.
+     * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return Whether the unlimitedRenewal field is set. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean hasUnlimitedRenewal() { + return renewalCase_ == 7; + } + + /** + * + * + *
+     * Output only. Deprecated: This field can only be true on existing offers
+     * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+     * longer allow unlimited renewals.
+     * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return The unlimitedRenewal. + */ + @java.lang.Override + @java.lang.Deprecated + public boolean getUnlimitedRenewal() { + if (renewalCase_ == 7) { + return (java.lang.Boolean) renewal_; + } + return false; + } + + public static final int START_POLICY_FIELD_NUMBER = 1; + private int startPolicy_ = 0; + + /** + * + * + *
+     * Optional. Defines when the resulting order should start.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for startPolicy. + */ + @java.lang.Override + public int getStartPolicyValue() { + return startPolicy_; + } + + /** + * + * + *
+     * Optional. Defines when the resulting order should start.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startPolicy. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy getStartPolicy() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy.forNumber( + startPolicy_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy.UNRECOGNIZED + : result; + } + + public static final int SCHEDULED_START_TIME_FIELD_NUMBER = 2; + private com.google.type.DateTime scheduledStartTime_; + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledStartTime field is set. + */ + @java.lang.Override + public boolean hasScheduledStartTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledStartTime. + */ + @java.lang.Override + public com.google.type.DateTime getScheduledStartTime() { + return scheduledStartTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : scheduledStartTime_; + } + + /** + * + * + *
+     * Optional. The scheduled start time of the offer. Cannot exceed one year
+     * from the time of publish.
+     *
+     * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+     * boundary in the America/Los_Angeles time zone must be provided when
+     * publishing the offer.
+     *
+     * If the offer amends another private or standard offer, then the
+     * scheduled start time must be:
+     *
+     * * Before or equal to the amended offer's end time if the offer's
+     * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+     * strictly before the amended offer's end time.
+     * * Before or equal to the start time of the next pending installment of
+     * the amended offer, if amending a private offer with custom
+     * installments. For example, if the amended offer has installments on
+     * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+     * `scheduled_start_time` must be at or before 03/01.
+     * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DateTimeOrBuilder getScheduledStartTimeOrBuilder() { + return scheduledStartTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : scheduledStartTime_; + } + + public static final int END_POLICY_FIELD_NUMBER = 3; + private int endPolicy_ = 0; + + /** + * + * + *
+     * Optional. Defines when an offer should end.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for endPolicy. + */ + @java.lang.Override + public int getEndPolicyValue() { + return endPolicy_; + } + + /** + * + * + *
+     * Optional. Defines when an offer should end.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endPolicy. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy getEndPolicy() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy.forNumber( + endPolicy_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy.UNRECOGNIZED + : result; + } + + 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 (startPolicy_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy + .START_POLICY_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, startPolicy_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getScheduledStartTime()); + } + if (endPolicy_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy + .END_POLICY_UNSPECIFIED + .getNumber()) { + output.writeEnum(3, endPolicy_); + } + if (endPolicyDataCase_ == 4) { + output.writeInt32(4, (int) ((java.lang.Integer) endPolicyData_)); + } + if (endPolicyDataCase_ == 5) { + output.writeMessage(5, (com.google.type.DateTime) endPolicyData_); + } + if (renewalCase_ == 6) { + output.writeInt32(6, (int) ((java.lang.Integer) renewal_)); + } + if (renewalCase_ == 7) { + output.writeBool(7, (boolean) ((java.lang.Boolean) renewal_)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (startPolicy_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy + .START_POLICY_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, startPolicy_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(2, getScheduledStartTime()); + } + if (endPolicy_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy + .END_POLICY_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, endPolicy_); + } + if (endPolicyDataCase_ == 4) { + size += + com.google.protobuf.CodedOutputStream.computeInt32Size( + 4, (int) ((java.lang.Integer) endPolicyData_)); + } + if (endPolicyDataCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, (com.google.type.DateTime) endPolicyData_); + } + if (renewalCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeInt32Size( + 6, (int) ((java.lang.Integer) renewal_)); + } + if (renewalCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeBoolSize( + 7, (boolean) ((java.lang.Boolean) renewal_)); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.Term)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term) obj; + + if (startPolicy_ != other.startPolicy_) return false; + if (hasScheduledStartTime() != other.hasScheduledStartTime()) return false; + if (hasScheduledStartTime()) { + if (!getScheduledStartTime().equals(other.getScheduledStartTime())) return false; + } + if (endPolicy_ != other.endPolicy_) return false; + if (!getEndPolicyDataCase().equals(other.getEndPolicyDataCase())) return false; + switch (endPolicyDataCase_) { + case 4: + if (getDurationMonths() != other.getDurationMonths()) return false; + break; + case 5: + if (!getScheduledEndTime().equals(other.getScheduledEndTime())) return false; + break; + case 0: + default: + } + if (!getRenewalCase().equals(other.getRenewalCase())) return false; + switch (renewalCase_) { + case 6: + if (getMaxRenewalCount() != other.getMaxRenewalCount()) return false; + break; + case 7: + if (getUnlimitedRenewal() != other.getUnlimitedRenewal()) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + START_POLICY_FIELD_NUMBER; + hash = (53 * hash) + startPolicy_; + if (hasScheduledStartTime()) { + hash = (37 * hash) + SCHEDULED_START_TIME_FIELD_NUMBER; + hash = (53 * hash) + getScheduledStartTime().hashCode(); + } + hash = (37 * hash) + END_POLICY_FIELD_NUMBER; + hash = (53 * hash) + endPolicy_; + switch (endPolicyDataCase_) { + case 4: + hash = (37 * hash) + DURATION_MONTHS_FIELD_NUMBER; + hash = (53 * hash) + getDurationMonths(); + break; + case 5: + hash = (37 * hash) + SCHEDULED_END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getScheduledEndTime().hashCode(); + break; + case 0: + default: + } + switch (renewalCase_) { + case 6: + hash = (37 * hash) + MAX_RENEWAL_COUNT_FIELD_NUMBER; + hash = (53 * hash) + getMaxRenewalCount(); + break; + case 7: + hash = (37 * hash) + UNLIMITED_RENEWAL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUnlimitedRenewal()); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term 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.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.Term 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Configurations for the offer term and renewal options.
+     * Extending a private offer to a customer that covers a given term
+     * constitutes a guarantee to the customer that the product will remain
+     * available to them for the duration of the term.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.Term} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.Term) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetScheduledStartTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (scheduledEndTimeBuilder_ != null) { + scheduledEndTimeBuilder_.clear(); + } + startPolicy_ = 0; + scheduledStartTime_ = null; + if (scheduledStartTimeBuilder_ != null) { + scheduledStartTimeBuilder_.dispose(); + scheduledStartTimeBuilder_ = null; + } + endPolicy_ = 0; + endPolicyDataCase_ = 0; + endPolicyData_ = null; + renewalCase_ = 0; + renewal_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.startPolicy_ = startPolicy_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.scheduledStartTime_ = + scheduledStartTimeBuilder_ == null + ? scheduledStartTime_ + : scheduledStartTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.endPolicy_ = endPolicy_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term result) { + result.endPolicyDataCase_ = endPolicyDataCase_; + result.endPolicyData_ = this.endPolicyData_; + if (endPolicyDataCase_ == 5 && scheduledEndTimeBuilder_ != null) { + result.endPolicyData_ = scheduledEndTimeBuilder_.build(); + } + result.renewalCase_ = renewalCase_; + result.renewal_ = this.renewal_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance()) + return this; + if (other.startPolicy_ != 0) { + setStartPolicyValue(other.getStartPolicyValue()); + } + if (other.hasScheduledStartTime()) { + mergeScheduledStartTime(other.getScheduledStartTime()); + } + if (other.endPolicy_ != 0) { + setEndPolicyValue(other.getEndPolicyValue()); + } + switch (other.getEndPolicyDataCase()) { + case DURATION_MONTHS: + { + setDurationMonths(other.getDurationMonths()); + break; + } + case SCHEDULED_END_TIME: + { + mergeScheduledEndTime(other.getScheduledEndTime()); + break; + } + case ENDPOLICYDATA_NOT_SET: + { + break; + } + } + switch (other.getRenewalCase()) { + case MAX_RENEWAL_COUNT: + { + setMaxRenewalCount(other.getMaxRenewalCount()); + break; + } + case UNLIMITED_RENEWAL: + { + setUnlimitedRenewal(other.getUnlimitedRenewal()); + break; + } + case RENEWAL_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + startPolicy_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetScheduledStartTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 18 + case 24: + { + endPolicy_ = input.readEnum(); + bitField0_ |= 0x00000040; + break; + } // case 24 + case 32: + { + endPolicyData_ = input.readInt32(); + endPolicyDataCase_ = 4; + break; + } // case 32 + case 42: + { + input.readMessage( + internalGetScheduledEndTimeFieldBuilder().getBuilder(), extensionRegistry); + endPolicyDataCase_ = 5; + break; + } // case 42 + case 48: + { + renewal_ = input.readInt32(); + renewalCase_ = 6; + break; + } // case 48 + case 56: + { + renewal_ = input.readBool(); + renewalCase_ = 7; + break; + } // case 56 + 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 endPolicyDataCase_ = 0; + private java.lang.Object endPolicyData_; + + public EndPolicyDataCase getEndPolicyDataCase() { + return EndPolicyDataCase.forNumber(endPolicyDataCase_); + } + + public Builder clearEndPolicyData() { + endPolicyDataCase_ = 0; + endPolicyData_ = null; + onChanged(); + return this; + } + + private int renewalCase_ = 0; + private java.lang.Object renewal_; + + public RenewalCase getRenewalCase() { + return RenewalCase.forNumber(renewalCase_); + } + + public Builder clearRenewal() { + renewalCase_ = 0; + renewal_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+       * Optional. Duration in months of the offer term.
+       * The offer will end on the same day of the month after this duration. If
+       * that date is not available, the offer will end on the last day of the
+       * month. For example, if the offer starts on 01/31/2024 and the duration
+       * is 13 months, the offer will end on 02/28/2025.
+       * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+       * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+       *
+       * The maximum possible offer duration, including all renewal terms,
+       * cannot exceed 7 years. For example, if `duration_months` is 9 and
+       * `term.max_renewal_count` is 9, then the maximum possible offer duration
+       * is 90 months and exceeds the 7 year limit.
+       * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the durationMonths field is set. + */ + public boolean hasDurationMonths() { + return endPolicyDataCase_ == 4; + } + + /** + * + * + *
+       * Optional. Duration in months of the offer term.
+       * The offer will end on the same day of the month after this duration. If
+       * that date is not available, the offer will end on the last day of the
+       * month. For example, if the offer starts on 01/31/2024 and the duration
+       * is 13 months, the offer will end on 02/28/2025.
+       * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+       * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+       *
+       * The maximum possible offer duration, including all renewal terms,
+       * cannot exceed 7 years. For example, if `duration_months` is 9 and
+       * `term.max_renewal_count` is 9, then the maximum possible offer duration
+       * is 90 months and exceeds the 7 year limit.
+       * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The durationMonths. + */ + public int getDurationMonths() { + if (endPolicyDataCase_ == 4) { + return (java.lang.Integer) endPolicyData_; + } + return 0; + } + + /** + * + * + *
+       * Optional. Duration in months of the offer term.
+       * The offer will end on the same day of the month after this duration. If
+       * that date is not available, the offer will end on the last day of the
+       * month. For example, if the offer starts on 01/31/2024 and the duration
+       * is 13 months, the offer will end on 02/28/2025.
+       * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+       * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+       *
+       * The maximum possible offer duration, including all renewal terms,
+       * cannot exceed 7 years. For example, if `duration_months` is 9 and
+       * `term.max_renewal_count` is 9, then the maximum possible offer duration
+       * is 90 months and exceeds the 7 year limit.
+       * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The durationMonths to set. + * @return This builder for chaining. + */ + public Builder setDurationMonths(int value) { + + endPolicyDataCase_ = 4; + endPolicyData_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Duration in months of the offer term.
+       * The offer will end on the same day of the month after this duration. If
+       * that date is not available, the offer will end on the last day of the
+       * month. For example, if the offer starts on 01/31/2024 and the duration
+       * is 13 months, the offer will end on 02/28/2025.
+       * Must be set to publish the offer if the end policy is `AFTER_DURATION`
+       * or `MATCH_AMENDED_OFFER`, and must be a positive value.
+       *
+       * The maximum possible offer duration, including all renewal terms,
+       * cannot exceed 7 years. For example, if `duration_months` is 9 and
+       * `term.max_renewal_count` is 9, then the maximum possible offer duration
+       * is 90 months and exceeds the 7 year limit.
+       * 
+ * + * int32 duration_months = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDurationMonths() { + if (endPolicyDataCase_ == 4) { + endPolicyDataCase_ = 0; + endPolicyData_ = null; + onChanged(); + } + return this; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + scheduledEndTimeBuilder_; + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledEndTime field is set. + */ + @java.lang.Override + public boolean hasScheduledEndTime() { + return endPolicyDataCase_ == 5; + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledEndTime. + */ + @java.lang.Override + public com.google.type.DateTime getScheduledEndTime() { + if (scheduledEndTimeBuilder_ == null) { + if (endPolicyDataCase_ == 5) { + return (com.google.type.DateTime) endPolicyData_; + } + return com.google.type.DateTime.getDefaultInstance(); + } else { + if (endPolicyDataCase_ == 5) { + return scheduledEndTimeBuilder_.getMessage(); + } + return com.google.type.DateTime.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setScheduledEndTime(com.google.type.DateTime value) { + if (scheduledEndTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endPolicyData_ = value; + onChanged(); + } else { + scheduledEndTimeBuilder_.setMessage(value); + } + endPolicyDataCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setScheduledEndTime(com.google.type.DateTime.Builder builderForValue) { + if (scheduledEndTimeBuilder_ == null) { + endPolicyData_ = builderForValue.build(); + onChanged(); + } else { + scheduledEndTimeBuilder_.setMessage(builderForValue.build()); + } + endPolicyDataCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeScheduledEndTime(com.google.type.DateTime value) { + if (scheduledEndTimeBuilder_ == null) { + if (endPolicyDataCase_ == 5 + && endPolicyData_ != com.google.type.DateTime.getDefaultInstance()) { + endPolicyData_ = + com.google.type.DateTime.newBuilder((com.google.type.DateTime) endPolicyData_) + .mergeFrom(value) + .buildPartial(); + } else { + endPolicyData_ = value; + } + onChanged(); + } else { + if (endPolicyDataCase_ == 5) { + scheduledEndTimeBuilder_.mergeFrom(value); + } else { + scheduledEndTimeBuilder_.setMessage(value); + } + } + endPolicyDataCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearScheduledEndTime() { + if (scheduledEndTimeBuilder_ == null) { + if (endPolicyDataCase_ == 5) { + endPolicyDataCase_ = 0; + endPolicyData_ = null; + onChanged(); + } + } else { + if (endPolicyDataCase_ == 5) { + endPolicyDataCase_ = 0; + endPolicyData_ = null; + } + scheduledEndTimeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTime.Builder getScheduledEndTimeBuilder() { + return internalGetScheduledEndTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DateTimeOrBuilder getScheduledEndTimeOrBuilder() { + if ((endPolicyDataCase_ == 5) && (scheduledEndTimeBuilder_ != null)) { + return scheduledEndTimeBuilder_.getMessageOrBuilder(); + } else { + if (endPolicyDataCase_ == 5) { + return (com.google.type.DateTime) endPolicyData_; + } + return com.google.type.DateTime.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Specified end time of the offer.
+       * Must be set to publish the offer if the end policy is
+       * `SCHEDULED_END_TIME`.
+       * When set, the time must be in the future and at a day boundary in the
+       * America/Los_Angeles time zone, and must be after
+       * `term.scheduled_start_time` if applicable.
+       * 
+ * + * + * .google.type.DateTime scheduled_end_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + internalGetScheduledEndTimeFieldBuilder() { + if (scheduledEndTimeBuilder_ == null) { + if (!(endPolicyDataCase_ == 5)) { + endPolicyData_ = com.google.type.DateTime.getDefaultInstance(); + } + scheduledEndTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder>( + (com.google.type.DateTime) endPolicyData_, getParentForChildren(), isClean()); + endPolicyData_ = null; + } + endPolicyDataCase_ = 5; + onChanged(); + return scheduledEndTimeBuilder_; + } + + /** + * + * + *
+       * Optional. The max number of renewals allowed, after the initial term
+       * ends. This field is only relevant to standard interval offers with
+       * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+       * offers cannot be renewed.
+       *
+       * For example, if the initial term is 1 year and the max renewals is 3,
+       * the customer can renew the offer for up to 3 additional years after the
+       * initial term ends. Customers control whether they renew the offer.
+       *
+       * Allowing a customer to renew an offer does not constitute a guarantee
+       * to the customer that the offered product will still be available to be
+       * renewed at the renewal date.
+       *
+       * An offer with a max renewal count of 0 cannot be renewed.
+       * Must be non-negative.
+       * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the maxRenewalCount field is set. + */ + public boolean hasMaxRenewalCount() { + return renewalCase_ == 6; + } + + /** + * + * + *
+       * Optional. The max number of renewals allowed, after the initial term
+       * ends. This field is only relevant to standard interval offers with
+       * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+       * offers cannot be renewed.
+       *
+       * For example, if the initial term is 1 year and the max renewals is 3,
+       * the customer can renew the offer for up to 3 additional years after the
+       * initial term ends. Customers control whether they renew the offer.
+       *
+       * Allowing a customer to renew an offer does not constitute a guarantee
+       * to the customer that the offered product will still be available to be
+       * renewed at the renewal date.
+       *
+       * An offer with a max renewal count of 0 cannot be renewed.
+       * Must be non-negative.
+       * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The maxRenewalCount. + */ + public int getMaxRenewalCount() { + if (renewalCase_ == 6) { + return (java.lang.Integer) renewal_; + } + return 0; + } + + /** + * + * + *
+       * Optional. The max number of renewals allowed, after the initial term
+       * ends. This field is only relevant to standard interval offers with
+       * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+       * offers cannot be renewed.
+       *
+       * For example, if the initial term is 1 year and the max renewals is 3,
+       * the customer can renew the offer for up to 3 additional years after the
+       * initial term ends. Customers control whether they renew the offer.
+       *
+       * Allowing a customer to renew an offer does not constitute a guarantee
+       * to the customer that the offered product will still be available to be
+       * renewed at the renewal date.
+       *
+       * An offer with a max renewal count of 0 cannot be renewed.
+       * Must be non-negative.
+       * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The maxRenewalCount to set. + * @return This builder for chaining. + */ + public Builder setMaxRenewalCount(int value) { + + renewalCase_ = 6; + renewal_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The max number of renewals allowed, after the initial term
+       * ends. This field is only relevant to standard interval offers with
+       * interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of
+       * offers cannot be renewed.
+       *
+       * For example, if the initial term is 1 year and the max renewals is 3,
+       * the customer can renew the offer for up to 3 additional years after the
+       * initial term ends. Customers control whether they renew the offer.
+       *
+       * Allowing a customer to renew an offer does not constitute a guarantee
+       * to the customer that the offered product will still be available to be
+       * renewed at the renewal date.
+       *
+       * An offer with a max renewal count of 0 cannot be renewed.
+       * Must be non-negative.
+       * 
+ * + * int32 max_renewal_count = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearMaxRenewalCount() { + if (renewalCase_ == 6) { + renewalCase_ = 0; + renewal_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Deprecated: This field can only be true on existing offers
+       * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+       * longer allow unlimited renewals.
+       * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return Whether the unlimitedRenewal field is set. + */ + @java.lang.Deprecated + public boolean hasUnlimitedRenewal() { + return renewalCase_ == 7; + } + + /** + * + * + *
+       * Output only. Deprecated: This field can only be true on existing offers
+       * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+       * longer allow unlimited renewals.
+       * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return The unlimitedRenewal. + */ + @java.lang.Deprecated + public boolean getUnlimitedRenewal() { + if (renewalCase_ == 7) { + return (java.lang.Boolean) renewal_; + } + return false; + } + + /** + * + * + *
+       * Output only. Deprecated: This field can only be true on existing offers
+       * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+       * longer allow unlimited renewals.
+       * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @param value The unlimitedRenewal to set. + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder setUnlimitedRenewal(boolean value) { + + renewalCase_ = 7; + renewal_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Deprecated: This field can only be true on existing offers
+       * with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no
+       * longer allow unlimited renewals.
+       * 
+ * + * + * bool unlimited_renewal = 7 [deprecated = true, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @deprecated google.cloud.commerceproducer.v1beta.PrivateOffer.Term.unlimited_renewal is + * deprecated. See google/cloud/commerceproducer/v1beta/private_offer.proto;l=245 + * @return This builder for chaining. + */ + @java.lang.Deprecated + public Builder clearUnlimitedRenewal() { + if (renewalCase_ == 7) { + renewalCase_ = 0; + renewal_ = null; + onChanged(); + } + return this; + } + + private int startPolicy_ = 0; + + /** + * + * + *
+       * Optional. Defines when the resulting order should start.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for startPolicy. + */ + @java.lang.Override + public int getStartPolicyValue() { + return startPolicy_; + } + + /** + * + * + *
+       * Optional. Defines when the resulting order should start.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for startPolicy to set. + * @return This builder for chaining. + */ + public Builder setStartPolicyValue(int value) { + startPolicy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Defines when the resulting order should start.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startPolicy. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy + getStartPolicy() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy.forNumber( + startPolicy_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Optional. Defines when the resulting order should start.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The startPolicy to set. + * @return This builder for chaining. + */ + public Builder setStartPolicy( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + startPolicy_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Defines when the resulting order should start.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicy start_policy = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearStartPolicy() { + bitField0_ = (bitField0_ & ~0x00000010); + startPolicy_ = 0; + onChanged(); + return this; + } + + private com.google.type.DateTime scheduledStartTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + scheduledStartTimeBuilder_; + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the scheduledStartTime field is set. + */ + public boolean hasScheduledStartTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The scheduledStartTime. + */ + public com.google.type.DateTime getScheduledStartTime() { + if (scheduledStartTimeBuilder_ == null) { + return scheduledStartTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : scheduledStartTime_; + } else { + return scheduledStartTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setScheduledStartTime(com.google.type.DateTime value) { + if (scheduledStartTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + scheduledStartTime_ = value; + } else { + scheduledStartTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setScheduledStartTime(com.google.type.DateTime.Builder builderForValue) { + if (scheduledStartTimeBuilder_ == null) { + scheduledStartTime_ = builderForValue.build(); + } else { + scheduledStartTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeScheduledStartTime(com.google.type.DateTime value) { + if (scheduledStartTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && scheduledStartTime_ != null + && scheduledStartTime_ != com.google.type.DateTime.getDefaultInstance()) { + getScheduledStartTimeBuilder().mergeFrom(value); + } else { + scheduledStartTime_ = value; + } + } else { + scheduledStartTimeBuilder_.mergeFrom(value); + } + if (scheduledStartTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearScheduledStartTime() { + bitField0_ = (bitField0_ & ~0x00000020); + scheduledStartTime_ = null; + if (scheduledStartTimeBuilder_ != null) { + scheduledStartTimeBuilder_.dispose(); + scheduledStartTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTime.Builder getScheduledStartTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetScheduledStartTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTimeOrBuilder getScheduledStartTimeOrBuilder() { + if (scheduledStartTimeBuilder_ != null) { + return scheduledStartTimeBuilder_.getMessageOrBuilder(); + } else { + return scheduledStartTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : scheduledStartTime_; + } + } + + /** + * + * + *
+       * Optional. The scheduled start time of the offer. Cannot exceed one year
+       * from the time of publish.
+       *
+       * If the start policy is `SCHEDULED_START_TIME`, a future time at a day
+       * boundary in the America/Los_Angeles time zone must be provided when
+       * publishing the offer.
+       *
+       * If the offer amends another private or standard offer, then the
+       * scheduled start time must be:
+       *
+       * * Before or equal to the amended offer's end time if the offer's
+       * end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be
+       * strictly before the amended offer's end time.
+       * * Before or equal to the start time of the next pending installment of
+       * the amended offer, if amending a private offer with custom
+       * installments. For example, if the amended offer has installments on
+       * 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's
+       * `scheduled_start_time` must be at or before 03/01.
+       * 
+ * + * + * .google.type.DateTime scheduled_start_time = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + internalGetScheduledStartTimeFieldBuilder() { + if (scheduledStartTimeBuilder_ == null) { + scheduledStartTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder>( + getScheduledStartTime(), getParentForChildren(), isClean()); + scheduledStartTime_ = null; + } + return scheduledStartTimeBuilder_; + } + + private int endPolicy_ = 0; + + /** + * + * + *
+       * Optional. Defines when an offer should end.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for endPolicy. + */ + @java.lang.Override + public int getEndPolicyValue() { + return endPolicy_; + } + + /** + * + * + *
+       * Optional. Defines when an offer should end.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for endPolicy to set. + * @return This builder for chaining. + */ + public Builder setEndPolicyValue(int value) { + endPolicy_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Defines when an offer should end.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endPolicy. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy getEndPolicy() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy.forNumber( + endPolicy_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Optional. Defines when an offer should end.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The endPolicy to set. + * @return This builder for chaining. + */ + public Builder setEndPolicy( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000040; + endPolicy_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. Defines when an offer should end.
+       * Must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicy end_policy = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearEndPolicy() { + bitField0_ = (bitField0_ & ~0x00000040); + endPolicy_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Term) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.Term) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Term 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.cloud.commerceproducer.v1beta.PrivateOffer.Term getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface SingleProductOfferOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedPrivateOffer field is set. + */ + boolean hasAmendedPrivateOffer(); + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedPrivateOffer. + */ + java.lang.String getAmendedPrivateOffer(); + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedPrivateOffer. + */ + com.google.protobuf.ByteString getAmendedPrivateOfferBytes(); + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedStandardOffer field is set. + */ + boolean hasAmendedStandardOffer(); + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedStandardOffer. + */ + java.lang.String getAmendedStandardOffer(); + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedStandardOffer. + */ + com.google.protobuf.ByteString getAmendedStandardOfferBytes(); + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the standardIntervalPrice field is set. + */ + boolean hasStandardIntervalPrice(); + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardIntervalPrice. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice + getStandardIntervalPrice(); + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder + getStandardIntervalPriceOrBuilder(); + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customIntervalPrice field is set. + */ + boolean hasCustomIntervalPrice(); + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customIntervalPrice. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice + getCustomIntervalPrice(); + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder + getCustomIntervalPriceOrBuilder(); + + /** + * + * + *
+     * Optional. The StandardOffer this PrivateOffer is based on.
+     * Must be in the same project as the private offer, and must be effective
+     * at the time of publishing. Must be present to publish the offer.
+     *
+     * Format:
+     * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+     * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The baseStandardOffer. + */ + java.lang.String getBaseStandardOffer(); + + /** + * + * + *
+     * Optional. The StandardOffer this PrivateOffer is based on.
+     * Must be in the same project as the private offer, and must be effective
+     * at the time of publishing. Must be present to publish the offer.
+     *
+     * Format:
+     * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+     * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for baseStandardOffer. + */ + com.google.protobuf.ByteString getBaseStandardOfferBytes(); + + /** + * + * + *
+     * Output only. The service level (also known as the 'plan') of the base
+     * standard offer. The value is populated at publish time from the base
+     * standard offer.
+     * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + java.lang.String getServiceLevel(); + + /** + * + * + *
+     * Output only. The service level (also known as the 'plan') of the base
+     * standard offer. The value is populated at publish time from the base
+     * standard offer.
+     * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + com.google.protobuf.ByteString getServiceLevelBytes(); + + /** + * + * + *
+     * Output only. Present for offers created by a reseller from a reseller
+     * private offer plan (RPOP). When set, contains the ID of the originating
+     * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerPrivateOfferPlanId. + */ + java.lang.String getResellerPrivateOfferPlanId(); + + /** + * + * + *
+     * Output only. Present for offers created by a reseller from a reseller
+     * private offer plan (RPOP). When set, contains the ID of the originating
+     * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for resellerPrivateOfferPlanId. + */ + com.google.protobuf.ByteString getResellerPrivateOfferPlanIdBytes(); + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List + getFeaturesList(); + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature getFeatures( + int index); + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getFeaturesCount(); + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder> + getFeaturesOrBuilderList(); + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.FeatureOrBuilder + getFeaturesOrBuilder(int index); + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + getEffectiveInstallmentTimelineList(); + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getEffectiveInstallmentTimeline(int index); + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getEffectiveInstallmentTimelineCount(); + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getEffectiveInstallmentTimelineOrBuilderList(); + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.InstallmentOrBuilder + getEffectiveInstallmentTimelineOrBuilder(int index); + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the contractValue field is set. + */ + boolean hasContractValue(); + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The contractValue. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + getContractValue(); + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValueOrBuilder + getContractValueOrBuilder(); + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the revenueShare field is set. + */ + boolean hasRevenueShare(); + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The revenueShare. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + getRevenueShare(); + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShareOrBuilder + getRevenueShareOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.AmendedOfferCase + getAmendedOfferCase(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceCase + getPriceCase(); + } + + /** + * + * + *
+   * Configurations for the offer that is associated with a single product.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer} + */ + public static final class SingleProductOffer extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + SingleProductOfferOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SingleProductOffer"); + } + + // Use SingleProductOffer.newBuilder() to construct. + private SingleProductOffer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SingleProductOffer() { + baseStandardOffer_ = ""; + serviceLevel_ = ""; + resellerPrivateOfferPlanId_ = ""; + features_ = java.util.Collections.emptyList(); + effectiveInstallmentTimeline_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder + .class); + } + + public interface FeatureOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Optional. Human readable display text characterizing the feature.
+       * Should be sufficiently detailed to identify the feature, allowing
+       * features to be correlated across separate offers and service levels.
+       * Must be non-empty to publish the offer.
+       * The maximum allowed length is 128 characters.
+       * Allows characters from the following Unicode Property Classes:
+       * Letters, Numbers, Punctuation, Symbols, and Separators
+       * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+       * Optional. Human readable display text characterizing the feature.
+       * Should be sufficiently detailed to identify the feature, allowing
+       * features to be correlated across separate offers and service levels.
+       * Must be non-empty to publish the offer.
+       * The maximum allowed length is 128 characters.
+       * Allows characters from the following Unicode Property Classes:
+       * Letters, Numbers, Punctuation, Symbols, and Separators
+       * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+       * Optional. Human readable display text reflecting the value of the
+       * feature. Used for variable features not captured by the display_name
+       * alone. The maximum allowed length is 3000 characters. Allows characters
+       * from the following Unicode Property Classes: Letters, Numbers,
+       * Punctuation, Symbols, and Separators
+       * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The value. + */ + java.lang.String getValue(); + + /** + * + * + *
+       * Optional. Human readable display text reflecting the value of the
+       * feature. Used for variable features not captured by the display_name
+       * alone. The maximum allowed length is 3000 characters. Allows characters
+       * from the following Unicode Property Classes: Letters, Numbers,
+       * Punctuation, Symbols, and Separators
+       * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for value. + */ + com.google.protobuf.ByteString getValueBytes(); + } + + /** + * + * + *
+     * Additional details used to describe customization of the service level.
+     *
+     * Features are used to distinguish service levels of the same product.
+     * When a product has a single service level, all details can be contained
+     * in the product documentation. When a product has multiple service levels,
+     * each service level can be assigned a distinct set of features to
+     * distinguish the key differences between the service levels.
+     *
+     * In addition to customizing pricing and other transaction details, a
+     * private offer may include customization of partner-managed product
+     * behavior. When this is the case, the details of the custom behavior are
+     * described using features.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature} + */ + public static final class Feature extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + FeatureOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Feature"); + } + + // Use Feature.newBuilder() to construct. + private Feature(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Feature() { + displayName_ = ""; + value_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder.class); + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+       * Optional. Human readable display text characterizing the feature.
+       * Should be sufficiently detailed to identify the feature, allowing
+       * features to be correlated across separate offers and service levels.
+       * Must be non-empty to publish the offer.
+       * The maximum allowed length is 128 characters.
+       * Allows characters from the following Unicode Property Classes:
+       * Letters, Numbers, Punctuation, Symbols, and Separators
+       * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + 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(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+       * Optional. Human readable display text characterizing the feature.
+       * Should be sufficiently detailed to identify the feature, allowing
+       * features to be correlated across separate offers and service levels.
+       * Must be non-empty to publish the offer.
+       * The maximum allowed length is 128 characters.
+       * Allows characters from the following Unicode Property Classes:
+       * Letters, Numbers, Punctuation, Symbols, and Separators
+       * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VALUE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object value_ = ""; + + /** + * + * + *
+       * Optional. Human readable display text reflecting the value of the
+       * feature. Used for variable features not captured by the display_name
+       * alone. The maximum allowed length is 3000 characters. Allows characters
+       * from the following Unicode Property Classes: Letters, Numbers,
+       * Punctuation, Symbols, and Separators
+       * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The value. + */ + @java.lang.Override + public java.lang.String getValue() { + java.lang.Object ref = value_; + 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(); + value_ = s; + return s; + } + } + + /** + * + * + *
+       * Optional. Human readable display text reflecting the value of the
+       * feature. Used for variable features not captured by the display_name
+       * alone. The maximum allowed length is 3000 characters. Allows characters
+       * from the following Unicode Property Classes: Letters, Numbers,
+       * Punctuation, Symbols, and Separators
+       * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for value. + */ + @java.lang.Override + public com.google.protobuf.ByteString getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + value_ = 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.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(value_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, value_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(value_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, value_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) obj; + + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getValue().equals(other.getValue())) 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) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Additional details used to describe customization of the service level.
+       *
+       * Features are used to distinguish service levels of the same product.
+       * When a product has a single service level, all details can be contained
+       * in the product documentation. When a product has multiple service levels,
+       * each service level can be assigned a distinct set of features to
+       * distinguish the key differences between the service levels.
+       *
+       * In addition to customizing pricing and other transaction details, a
+       * private offer may include customization of partner-managed product
+       * behavior. When this is the case, the details of the custom behavior are
+       * described using features.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + displayName_ = ""; + value_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature( + this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.value_ = value_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .getDefaultInstance()) return this; + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getValue().isEmpty()) { + value_ = other.value_; + 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: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + value_ = 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 displayName_ = ""; + + /** + * + * + *
+         * Optional. Human readable display text characterizing the feature.
+         * Should be sufficiently detailed to identify the feature, allowing
+         * features to be correlated across separate offers and service levels.
+         * Must be non-empty to publish the offer.
+         * The maximum allowed length is 128 characters.
+         * Allows characters from the following Unicode Property Classes:
+         * Letters, Numbers, Punctuation, Symbols, and Separators
+         * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Optional. Human readable display text characterizing the feature.
+         * Should be sufficiently detailed to identify the feature, allowing
+         * features to be correlated across separate offers and service levels.
+         * Must be non-empty to publish the offer.
+         * The maximum allowed length is 128 characters.
+         * Allows characters from the following Unicode Property Classes:
+         * Letters, Numbers, Punctuation, Symbols, and Separators
+         * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Optional. Human readable display text characterizing the feature.
+         * Should be sufficiently detailed to identify the feature, allowing
+         * features to be correlated across separate offers and service levels.
+         * Must be non-empty to publish the offer.
+         * The maximum allowed length is 128 characters.
+         * Allows characters from the following Unicode Property Classes:
+         * Letters, Numbers, Punctuation, Symbols, and Separators
+         * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. Human readable display text characterizing the feature.
+         * Should be sufficiently detailed to identify the feature, allowing
+         * features to be correlated across separate offers and service levels.
+         * Must be non-empty to publish the offer.
+         * The maximum allowed length is 128 characters.
+         * Allows characters from the following Unicode Property Classes:
+         * Letters, Numbers, Punctuation, Symbols, and Separators
+         * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. Human readable display text characterizing the feature.
+         * Should be sufficiently detailed to identify the feature, allowing
+         * features to be correlated across separate offers and service levels.
+         * Must be non-empty to publish the offer.
+         * The maximum allowed length is 128 characters.
+         * Allows characters from the following Unicode Property Classes:
+         * Letters, Numbers, Punctuation, Symbols, and Separators
+         * 
+ * + * string display_name = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object value_ = ""; + + /** + * + * + *
+         * Optional. Human readable display text reflecting the value of the
+         * feature. Used for variable features not captured by the display_name
+         * alone. The maximum allowed length is 3000 characters. Allows characters
+         * from the following Unicode Property Classes: Letters, Numbers,
+         * Punctuation, Symbols, and Separators
+         * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The value. + */ + public java.lang.String getValue() { + java.lang.Object ref = value_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + value_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Optional. Human readable display text reflecting the value of the
+         * feature. Used for variable features not captured by the display_name
+         * alone. The maximum allowed length is 3000 characters. Allows characters
+         * from the following Unicode Property Classes: Letters, Numbers,
+         * Punctuation, Symbols, and Separators
+         * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for value. + */ + public com.google.protobuf.ByteString getValueBytes() { + java.lang.Object ref = value_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + value_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Optional. Human readable display text reflecting the value of the
+         * feature. Used for variable features not captured by the display_name
+         * alone. The maximum allowed length is 3000 characters. Allows characters
+         * from the following Unicode Property Classes: Letters, Numbers,
+         * Punctuation, Symbols, and Separators
+         * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The value to set. + * @return This builder for chaining. + */ + public Builder setValue(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. Human readable display text reflecting the value of the
+         * feature. Used for variable features not captured by the display_name
+         * alone. The maximum allowed length is 3000 characters. Allows characters
+         * from the following Unicode Property Classes: Letters, Numbers,
+         * Punctuation, Symbols, and Separators
+         * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearValue() { + value_ = getDefaultInstance().getValue(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. Human readable display text reflecting the value of the
+         * feature. Used for variable features not captured by the display_name
+         * alone. The maximum allowed length is 3000 characters. Allows characters
+         * from the following Unicode Property Classes: Letters, Numbers,
+         * Punctuation, Symbols, and Separators
+         * 
+ * + * string value = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for value to set. + * @return This builder for chaining. + */ + public Builder setValueBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + value_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Feature + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Feature 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface PriceModelOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFee field is set. + */ + boolean hasFlatFee(); + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFee. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee + getFlatFee(); + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder + getFlatFeeOrBuilder(); + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitment field is set. + */ + boolean hasCommitment(); + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitment. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment + getCommitment(); + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder + getCommitmentOrBuilder(); + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the usage field is set. + */ + boolean hasUsage(); + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The usage. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage + getUsage(); + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder + getUsageOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SubscriptionCase + getSubscriptionCase(); + } + + /** + * + * + *
+     * The price model of the private offer.
+     *
+     * Private offers are referred to as having different kinds of price models
+     * based on the combination of fields set in the price model. The following
+     * terminology is used in documentation and other reference material.
+     *
+     * * Usage-based: the price model does not set `flat_fee`
+     * * Usage-only: the price model sets only `usage`
+     * * CUD (committed use discount): the price model sets `commitment`
+     * * Commitment discount with additional usage at list price:
+     * The price model sets `commitment` and not `usage`.
+     * * Commitment with all usage discounted: The price model sets
+     * `commitment` and `usage`.
+     * * Flat fee: the price model sets only `flat_fee`
+     * * Flat fee with usage: the price model sets `flat_fee` and `usage`
+     *
+     * See
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-pricing-model#CUD
+     * for the price models.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel} + */ + public static final class PriceModel extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + PriceModelOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PriceModel"); + } + + // Use PriceModel.newBuilder() to construct. + private PriceModel(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PriceModel() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder.class); + } + + public interface SkuDiscountOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the sku field is set. + */ + boolean hasSku(); + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + java.lang.String getSku(); + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + com.google.protobuf.ByteString getSkuBytes(); + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the cloudBillingSku field is set. + */ + boolean hasCloudBillingSku(); + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cloudBillingSku. + */ + java.lang.String getCloudBillingSku(); + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cloudBillingSku. + */ + com.google.protobuf.ByteString getCloudBillingSkuBytes(); + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + boolean hasDiscountPercent(); + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + com.google.type.Decimal getDiscountPercent(); + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.TargetCase + getTargetCase(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.DiscountCase + getDiscountCase(); + } + + /** + * + * + *
+       * The discount for a specific SKU.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount} + */ + public static final class SkuDiscount extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount) + SkuDiscountOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuDiscount"); + } + + // Use SkuDiscount.newBuilder() to construct. + private SkuDiscount(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SkuDiscount() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder.class); + } + + private int targetCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object target_; + + public enum TargetCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + SKU(1), + CLOUD_BILLING_SKU(3), + TARGET_NOT_SET(0); + private final int value; + + private TargetCase(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 TargetCase valueOf(int value) { + return forNumber(value); + } + + public static TargetCase forNumber(int value) { + switch (value) { + case 1: + return SKU; + case 3: + return CLOUD_BILLING_SKU; + case 0: + return TARGET_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public TargetCase getTargetCase() { + return TargetCase.forNumber(targetCase_); + } + + private int discountCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object discount_; + + public enum DiscountCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + DISCOUNT_PERCENT(2), + DISCOUNT_NOT_SET(0); + private final int value; + + private DiscountCase(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 DiscountCase valueOf(int value) { + return forNumber(value); + } + + public static DiscountCase forNumber(int value) { + switch (value) { + case 2: + return DISCOUNT_PERCENT; + case 0: + return DISCOUNT_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public DiscountCase getDiscountCase() { + return DiscountCase.forNumber(discountCase_); + } + + public static final int SKU_FIELD_NUMBER = 1; + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the sku field is set. + */ + public boolean hasSku() { + return targetCase_ == 1; + } + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + public java.lang.String getSku() { + java.lang.Object ref = ""; + if (targetCase_ == 1) { + ref = target_; + } + 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(); + if (targetCase_ == 1) { + target_ = s; + } + return s; + } + } + + /** + * + * + *
+         * Optional. The name of a partner SKU from this API.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Inclusion in the base price model can occur either directly or
+         * indirectly via inclusion in an included SkuGroup.
+         *
+         * Currently, standard offer price models include only partner SKUs
+         * in the same project as the standard offer. This may change.
+         *
+         * Format:
+         * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + public com.google.protobuf.ByteString getSkuBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 1) { + ref = target_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 1) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CLOUD_BILLING_SKU_FIELD_NUMBER = 3; + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the cloudBillingSku field is set. + */ + public boolean hasCloudBillingSku() { + return targetCase_ == 3; + } + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cloudBillingSku. + */ + public java.lang.String getCloudBillingSku() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + 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(); + if (targetCase_ == 3) { + target_ = s; + } + return s; + } + } + + /** + * + * + *
+         * Optional. The name of a Google SKU from the Cloud Billing API.
+         *
+         * Used for partner products sold by Google, such as Premium Operating
+         * System Images sold for use in Compute Engine. This is not common.
+         * SKUs of this type are not present on this API and can instead be
+         * found on the Cloud Billing API or at https://cloud.google.com/skus.
+         *
+         * Must refer to a SKU in the price model of the base standard offer.
+         * Google SKUs are always referenced in standard offers via SkuGroups.
+         *
+         * Format: services/{service}/skus/{sku}
+         * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cloudBillingSku. + */ + public com.google.protobuf.ByteString getCloudBillingSkuBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 3) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISCOUNT_PERCENT_FIELD_NUMBER = 2; + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + @java.lang.Override + public boolean hasDiscountPercent() { + return discountCase_ == 2; + } + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + @java.lang.Override + public com.google.type.Decimal getDiscountPercent() { + if (discountCase_ == 2) { + return (com.google.type.Decimal) discount_; + } + return com.google.type.Decimal.getDefaultInstance(); + } + + /** + * + * + *
+         * Optional. The discount percent for the SKU.
+         * For example, `10` means a discount of 10%. If the original SKU
+         * price is $100/hour then the discounted price will be $90/hour.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         *
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+         * and "".
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder() { + if (discountCase_ == 2) { + return (com.google.type.Decimal) discount_; + } + return com.google.type.Decimal.getDefaultInstance(); + } + + 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 (targetCase_ == 1) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, target_); + } + if (discountCase_ == 2) { + output.writeMessage(2, (com.google.type.Decimal) discount_); + } + if (targetCase_ == 3) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, target_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (targetCase_ == 1) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, target_); + } + if (discountCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, (com.google.type.Decimal) discount_); + } + if (targetCase_ == 3) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, target_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount) + obj; + + if (!getTargetCase().equals(other.getTargetCase())) return false; + switch (targetCase_) { + case 1: + if (!getSku().equals(other.getSku())) return false; + break; + case 3: + if (!getCloudBillingSku().equals(other.getCloudBillingSku())) return false; + break; + case 0: + default: + } + if (!getDiscountCase().equals(other.getDiscountCase())) return false; + switch (discountCase_) { + case 2: + if (!getDiscountPercent().equals(other.getDiscountPercent())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (targetCase_) { + case 1: + hash = (37 * hash) + SKU_FIELD_NUMBER; + hash = (53 * hash) + getSku().hashCode(); + break; + case 3: + hash = (37 * hash) + CLOUD_BILLING_SKU_FIELD_NUMBER; + hash = (53 * hash) + getCloudBillingSku().hashCode(); + break; + case 0: + default: + } + switch (discountCase_) { + case 2: + hash = (37 * hash) + DISCOUNT_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getDiscountPercent().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The discount for a specific SKU.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscountOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (discountPercentBuilder_ != null) { + discountPercentBuilder_.clear(); + } + targetCase_ = 0; + target_ = null; + discountCase_ = 0; + discount_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + result) { + result.targetCase_ = targetCase_; + result.target_ = this.target_; + result.discountCase_ = discountCase_; + result.discount_ = this.discount_; + if (discountCase_ == 2 && discountPercentBuilder_ != null) { + result.discount_ = discountPercentBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.getDefaultInstance()) return this; + switch (other.getTargetCase()) { + case SKU: + { + targetCase_ = 1; + target_ = other.target_; + onChanged(); + break; + } + case CLOUD_BILLING_SKU: + { + targetCase_ = 3; + target_ = other.target_; + onChanged(); + break; + } + case TARGET_NOT_SET: + { + break; + } + } + switch (other.getDiscountCase()) { + case DISCOUNT_PERCENT: + { + mergeDiscountPercent(other.getDiscountPercent()); + break; + } + case DISCOUNT_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + targetCase_ = 1; + target_ = s; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetDiscountPercentFieldBuilder().getBuilder(), extensionRegistry); + discountCase_ = 2; + break; + } // case 18 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + targetCase_ = 3; + target_ = s; + break; + } // case 26 + 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 targetCase_ = 0; + private java.lang.Object target_; + + public TargetCase getTargetCase() { + return TargetCase.forNumber(targetCase_); + } + + public Builder clearTarget() { + targetCase_ = 0; + target_ = null; + onChanged(); + return this; + } + + private int discountCase_ = 0; + private java.lang.Object discount_; + + public DiscountCase getDiscountCase() { + return DiscountCase.forNumber(discountCase_); + } + + public Builder clearDiscount() { + discountCase_ = 0; + discount_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the sku field is set. + */ + @java.lang.Override + public boolean hasSku() { + return targetCase_ == 1; + } + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + @java.lang.Override + public java.lang.String getSku() { + java.lang.Object ref = ""; + if (targetCase_ == 1) { + ref = target_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetCase_ == 1) { + target_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSkuBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 1) { + ref = target_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 1) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The sku to set. + * @return This builder for chaining. + */ + public Builder setSku(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetCase_ = 1; + target_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearSku() { + if (targetCase_ == 1) { + targetCase_ = 0; + target_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. The name of a partner SKU from this API.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Inclusion in the base price model can occur either directly or
+           * indirectly via inclusion in an included SkuGroup.
+           *
+           * Currently, standard offer price models include only partner SKUs
+           * in the same project as the standard offer. This may change.
+           *
+           * Format:
+           * projects/{project}/locations/{location}/services/{service}/skus/{sku}
+           * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for sku to set. + * @return This builder for chaining. + */ + public Builder setSkuBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetCase_ = 1; + target_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the cloudBillingSku field is set. + */ + @java.lang.Override + public boolean hasCloudBillingSku() { + return targetCase_ == 3; + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The cloudBillingSku. + */ + @java.lang.Override + public java.lang.String getCloudBillingSku() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetCase_ == 3) { + target_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for cloudBillingSku. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCloudBillingSkuBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 3) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The cloudBillingSku to set. + * @return This builder for chaining. + */ + public Builder setCloudBillingSku(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetCase_ = 3; + target_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearCloudBillingSku() { + if (targetCase_ == 3) { + targetCase_ = 0; + target_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. The name of a Google SKU from the Cloud Billing API.
+           *
+           * Used for partner products sold by Google, such as Premium Operating
+           * System Images sold for use in Compute Engine. This is not common.
+           * SKUs of this type are not present on this API and can instead be
+           * found on the Cloud Billing API or at https://cloud.google.com/skus.
+           *
+           * Must refer to a SKU in the price model of the base standard offer.
+           * Google SKUs are always referenced in standard offers via SkuGroups.
+           *
+           * Format: services/{service}/skus/{sku}
+           * 
+ * + * string cloud_billing_sku = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for cloudBillingSku to set. + * @return This builder for chaining. + */ + public Builder setCloudBillingSkuBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetCase_ = 3; + target_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + discountPercentBuilder_; + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + @java.lang.Override + public boolean hasDiscountPercent() { + return discountCase_ == 2; + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + @java.lang.Override + public com.google.type.Decimal getDiscountPercent() { + if (discountPercentBuilder_ == null) { + if (discountCase_ == 2) { + return (com.google.type.Decimal) discount_; + } + return com.google.type.Decimal.getDefaultInstance(); + } else { + if (discountCase_ == 2) { + return discountPercentBuilder_.getMessage(); + } + return com.google.type.Decimal.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDiscountPercent(com.google.type.Decimal value) { + if (discountPercentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + discount_ = value; + onChanged(); + } else { + discountPercentBuilder_.setMessage(value); + } + discountCase_ = 2; + return this; + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDiscountPercent(com.google.type.Decimal.Builder builderForValue) { + if (discountPercentBuilder_ == null) { + discount_ = builderForValue.build(); + onChanged(); + } else { + discountPercentBuilder_.setMessage(builderForValue.build()); + } + discountCase_ = 2; + return this; + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeDiscountPercent(com.google.type.Decimal value) { + if (discountPercentBuilder_ == null) { + if (discountCase_ == 2 && discount_ != com.google.type.Decimal.getDefaultInstance()) { + discount_ = + com.google.type.Decimal.newBuilder((com.google.type.Decimal) discount_) + .mergeFrom(value) + .buildPartial(); + } else { + discount_ = value; + } + onChanged(); + } else { + if (discountCase_ == 2) { + discountPercentBuilder_.mergeFrom(value); + } else { + discountPercentBuilder_.setMessage(value); + } + } + discountCase_ = 2; + return this; + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearDiscountPercent() { + if (discountPercentBuilder_ == null) { + if (discountCase_ == 2) { + discountCase_ = 0; + discount_ = null; + onChanged(); + } + } else { + if (discountCase_ == 2) { + discountCase_ = 0; + discount_ = null; + } + discountPercentBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Decimal.Builder getDiscountPercentBuilder() { + return internalGetDiscountPercentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder() { + if ((discountCase_ == 2) && (discountPercentBuilder_ != null)) { + return discountPercentBuilder_.getMessageOrBuilder(); + } else { + if (discountCase_ == 2) { + return (com.google.type.Decimal) discount_; + } + return com.google.type.Decimal.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Optional. The discount percent for the SKU.
+           * For example, `10` means a discount of 10%. If the original SKU
+           * price is $100/hour then the discounted price will be $90/hour.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           *
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12",
+           * and "".
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetDiscountPercentFieldBuilder() { + if (discountPercentBuilder_ == null) { + if (!(discountCase_ == 2)) { + discount_ = com.google.type.Decimal.getDefaultInstance(); + } + discountPercentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + (com.google.type.Decimal) discount_, getParentForChildren(), isClean()); + discount_ = null; + } + discountCase_ = 2; + onChanged(); + return discountPercentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.PriceModel.SkuDiscount + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SkuDiscount 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface UsageOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the defaultDiscountPercent field is set. + */ + boolean hasDefaultDiscountPercent(); + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The defaultDiscountPercent. + */ + com.google.type.Decimal getDefaultDiscountPercent(); + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DecimalOrBuilder getDefaultDiscountPercentOrBuilder(); + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount> + getSkuDiscountsList(); + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + getSkuDiscounts(int index); + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getSkuDiscountsCount(); + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder> + getSkuDiscountsOrBuilderList(); + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscountOrBuilder + getSkuDiscountsOrBuilder(int index); + } + + /** + * + * + *
+       * The price for the usage SKUs.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage} + */ + public static final class Usage extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage) + UsageOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Usage"); + } + + // Use Usage.newBuilder() to construct. + private Usage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Usage() { + skuDiscounts_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.Builder.class); + } + + private int bitField0_; + public static final int DEFAULT_DISCOUNT_PERCENT_FIELD_NUMBER = 1; + private com.google.type.Decimal defaultDiscountPercent_; + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the defaultDiscountPercent field is set. + */ + @java.lang.Override + public boolean hasDefaultDiscountPercent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The defaultDiscountPercent. + */ + @java.lang.Override + public com.google.type.Decimal getDefaultDiscountPercent() { + return defaultDiscountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : defaultDiscountPercent_; + } + + /** + * + * + *
+         * Optional. The default discount percent for usage SKUs.
+         * An unset default discount percent is equivalent to 0 (no discount).
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getDefaultDiscountPercentOrBuilder() { + return defaultDiscountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : defaultDiscountPercent_; + } + + public static final int SKU_DISCOUNTS_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount> + skuDiscounts_; + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount> + getSkuDiscountsList() { + return skuDiscounts_; + } + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder> + getSkuDiscountsOrBuilderList() { + return skuDiscounts_; + } + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public int getSkuDiscountsCount() { + return skuDiscounts_.size(); + } + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + getSkuDiscounts(int index) { + return skuDiscounts_.get(index); + } + + /** + * + * + *
+         * Optional. The discounts for the specific SKUs that override the
+         * `default_discount_percent`.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscountOrBuilder + getSkuDiscountsOrBuilder(int index) { + return skuDiscounts_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getDefaultDiscountPercent()); + } + for (int i = 0; i < skuDiscounts_.size(); i++) { + output.writeMessage(2, skuDiscounts_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, getDefaultDiscountPercent()); + } + for (int i = 0; i < skuDiscounts_.size(); i++) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(2, skuDiscounts_.get(i)); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage) + obj; + + if (hasDefaultDiscountPercent() != other.hasDefaultDiscountPercent()) return false; + if (hasDefaultDiscountPercent()) { + if (!getDefaultDiscountPercent().equals(other.getDefaultDiscountPercent())) + return false; + } + if (!getSkuDiscountsList().equals(other.getSkuDiscountsList())) 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(); + if (hasDefaultDiscountPercent()) { + hash = (37 * hash) + DEFAULT_DISCOUNT_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getDefaultDiscountPercent().hashCode(); + } + if (getSkuDiscountsCount() > 0) { + hash = (37 * hash) + SKU_DISCOUNTS_FIELD_NUMBER; + hash = (53 * hash) + getSkuDiscountsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The price for the usage SKUs.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetDefaultDiscountPercentFieldBuilder(); + internalGetSkuDiscountsFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + defaultDiscountPercent_ = null; + if (defaultDiscountPercentBuilder_ != null) { + defaultDiscountPercentBuilder_.dispose(); + defaultDiscountPercentBuilder_ = null; + } + if (skuDiscountsBuilder_ == null) { + skuDiscounts_ = java.util.Collections.emptyList(); + } else { + skuDiscounts_ = null; + skuDiscountsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + result) { + if (skuDiscountsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + skuDiscounts_ = java.util.Collections.unmodifiableList(skuDiscounts_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.skuDiscounts_ = skuDiscounts_; + } else { + result.skuDiscounts_ = skuDiscountsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.defaultDiscountPercent_ = + defaultDiscountPercentBuilder_ == null + ? defaultDiscountPercent_ + : defaultDiscountPercentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.getDefaultInstance()) return this; + if (other.hasDefaultDiscountPercent()) { + mergeDefaultDiscountPercent(other.getDefaultDiscountPercent()); + } + if (skuDiscountsBuilder_ == null) { + if (!other.skuDiscounts_.isEmpty()) { + if (skuDiscounts_.isEmpty()) { + skuDiscounts_ = other.skuDiscounts_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.addAll(other.skuDiscounts_); + } + onChanged(); + } + } else { + if (!other.skuDiscounts_.isEmpty()) { + if (skuDiscountsBuilder_.isEmpty()) { + skuDiscountsBuilder_.dispose(); + skuDiscountsBuilder_ = null; + skuDiscounts_ = other.skuDiscounts_; + bitField0_ = (bitField0_ & ~0x00000002); + skuDiscountsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetSkuDiscountsFieldBuilder() + : null; + } else { + skuDiscountsBuilder_.addAllMessages(other.skuDiscounts_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetDefaultDiscountPercentFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount + m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.PriceModel.SkuDiscount.parser(), + extensionRegistry); + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.add(m); + } else { + skuDiscountsBuilder_.addMessage(m); + } + 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 com.google.type.Decimal defaultDiscountPercent_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + defaultDiscountPercentBuilder_; + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the defaultDiscountPercent field is set. + */ + public boolean hasDefaultDiscountPercent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The defaultDiscountPercent. + */ + public com.google.type.Decimal getDefaultDiscountPercent() { + if (defaultDiscountPercentBuilder_ == null) { + return defaultDiscountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : defaultDiscountPercent_; + } else { + return defaultDiscountPercentBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDefaultDiscountPercent(com.google.type.Decimal value) { + if (defaultDiscountPercentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + defaultDiscountPercent_ = value; + } else { + defaultDiscountPercentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDefaultDiscountPercent( + com.google.type.Decimal.Builder builderForValue) { + if (defaultDiscountPercentBuilder_ == null) { + defaultDiscountPercent_ = builderForValue.build(); + } else { + defaultDiscountPercentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeDefaultDiscountPercent(com.google.type.Decimal value) { + if (defaultDiscountPercentBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && defaultDiscountPercent_ != null + && defaultDiscountPercent_ != com.google.type.Decimal.getDefaultInstance()) { + getDefaultDiscountPercentBuilder().mergeFrom(value); + } else { + defaultDiscountPercent_ = value; + } + } else { + defaultDiscountPercentBuilder_.mergeFrom(value); + } + if (defaultDiscountPercent_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearDefaultDiscountPercent() { + bitField0_ = (bitField0_ & ~0x00000001); + defaultDiscountPercent_ = null; + if (defaultDiscountPercentBuilder_ != null) { + defaultDiscountPercentBuilder_.dispose(); + defaultDiscountPercentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Decimal.Builder getDefaultDiscountPercentBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetDefaultDiscountPercentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DecimalOrBuilder getDefaultDiscountPercentOrBuilder() { + if (defaultDiscountPercentBuilder_ != null) { + return defaultDiscountPercentBuilder_.getMessageOrBuilder(); + } else { + return defaultDiscountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : defaultDiscountPercent_; + } + } + + /** + * + * + *
+           * Optional. The default discount percent for usage SKUs.
+           * An unset default discount percent is equivalent to 0 (no discount).
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           * 
+ * + * + * .google.type.Decimal default_discount_percent = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetDefaultDiscountPercentFieldBuilder() { + if (defaultDiscountPercentBuilder_ == null) { + defaultDiscountPercentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getDefaultDiscountPercent(), getParentForChildren(), isClean()); + defaultDiscountPercent_ = null; + } + return defaultDiscountPercentBuilder_; + } + + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount> + skuDiscounts_ = java.util.Collections.emptyList(); + + private void ensureSkuDiscountsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + skuDiscounts_ = + new java.util.ArrayList< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount>(skuDiscounts_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder> + skuDiscountsBuilder_; + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount> + getSkuDiscountsList() { + if (skuDiscountsBuilder_ == null) { + return java.util.Collections.unmodifiableList(skuDiscounts_); + } else { + return skuDiscountsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public int getSkuDiscountsCount() { + if (skuDiscountsBuilder_ == null) { + return skuDiscounts_.size(); + } else { + return skuDiscountsBuilder_.getCount(); + } + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + getSkuDiscounts(int index) { + if (skuDiscountsBuilder_ == null) { + return skuDiscounts_.get(index); + } else { + return skuDiscountsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSkuDiscounts( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + value) { + if (skuDiscountsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuDiscountsIsMutable(); + skuDiscounts_.set(index, value); + onChanged(); + } else { + skuDiscountsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSkuDiscounts( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + builderForValue) { + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.set(index, builderForValue.build()); + onChanged(); + } else { + skuDiscountsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addSkuDiscounts( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + value) { + if (skuDiscountsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuDiscountsIsMutable(); + skuDiscounts_.add(value); + onChanged(); + } else { + skuDiscountsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addSkuDiscounts( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount + value) { + if (skuDiscountsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuDiscountsIsMutable(); + skuDiscounts_.add(index, value); + onChanged(); + } else { + skuDiscountsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addSkuDiscounts( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + builderForValue) { + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.add(builderForValue.build()); + onChanged(); + } else { + skuDiscountsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addSkuDiscounts( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + builderForValue) { + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.add(index, builderForValue.build()); + onChanged(); + } else { + skuDiscountsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addAllSkuDiscounts( + java.lang.Iterable< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount> + values) { + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skuDiscounts_); + onChanged(); + } else { + skuDiscountsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearSkuDiscounts() { + if (skuDiscountsBuilder_ == null) { + skuDiscounts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + skuDiscountsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeSkuDiscounts(int index) { + if (skuDiscountsBuilder_ == null) { + ensureSkuDiscountsIsMutable(); + skuDiscounts_.remove(index); + onChanged(); + } else { + skuDiscountsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + getSkuDiscountsBuilder(int index) { + return internalGetSkuDiscountsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscountOrBuilder + getSkuDiscountsOrBuilder(int index) { + if (skuDiscountsBuilder_ == null) { + return skuDiscounts_.get(index); + } else { + return skuDiscountsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder> + getSkuDiscountsOrBuilderList() { + if (skuDiscountsBuilder_ != null) { + return skuDiscountsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(skuDiscounts_); + } + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + addSkuDiscountsBuilder() { + return internalGetSkuDiscountsFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.getDefaultInstance()); + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .SkuDiscount.Builder + addSkuDiscountsBuilder(int index) { + return internalGetSkuDiscountsFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.getDefaultInstance()); + } + + /** + * + * + *
+           * Optional. The discounts for the specific SKUs that override the
+           * `default_discount_percent`.
+           * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.SkuDiscount sku_discounts = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder> + getSkuDiscountsBuilderList() { + return internalGetSkuDiscountsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder> + internalGetSkuDiscountsFieldBuilder() { + if (skuDiscountsBuilder_ == null) { + skuDiscountsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscount.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.SkuDiscountOrBuilder>( + skuDiscounts_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + skuDiscounts_ = null; + } + return skuDiscountsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.PriceModel.Usage + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Usage 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FlatFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFeeOverride field is set. + */ + boolean hasFlatFeeOverride(); + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFeeOverride. + */ + com.google.type.Money getFlatFeeOverride(); + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.MoneyOrBuilder getFlatFeeOverrideOrBuilder(); + } + + /** + * + * + *
+       * The price configurations for the flat fee subscriptions.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee} + */ + public static final class FlatFee extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee) + FlatFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "FlatFee"); + } + + // Use FlatFee.newBuilder() to construct. + private FlatFee(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private FlatFee() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.Builder.class); + } + + private int bitField0_; + public static final int FLAT_FEE_OVERRIDE_FIELD_NUMBER = 1; + private com.google.type.Money flatFeeOverride_; + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFeeOverride field is set. + */ + @java.lang.Override + public boolean hasFlatFeeOverride() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFeeOverride. + */ + @java.lang.Override + public com.google.type.Money getFlatFeeOverride() { + return flatFeeOverride_ == null + ? com.google.type.Money.getDefaultInstance() + : flatFeeOverride_; + } + + /** + * + * + *
+         * Optional. Flat fee overriding the default flat fee in the base
+         * standard offer. Value cannot be negative. The currency must be "USD"
+         * and precision is limited to cents. Must be present to publish the
+         * offer, if the parent message is set. The maximum allowed value is
+         * 1,000,000,000 USD.
+         * 
+ * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getFlatFeeOverrideOrBuilder() { + return flatFeeOverride_ == null + ? com.google.type.Money.getDefaultInstance() + : flatFeeOverride_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getFlatFeeOverride()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, getFlatFeeOverride()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + obj; + + if (hasFlatFeeOverride() != other.hasFlatFeeOverride()) return false; + if (hasFlatFeeOverride()) { + if (!getFlatFeeOverride().equals(other.getFlatFeeOverride())) 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(); + if (hasFlatFeeOverride()) { + hash = (37 * hash) + FLAT_FEE_OVERRIDE_FIELD_NUMBER; + hash = (53 * hash) + getFlatFeeOverride().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The price configurations for the flat fee subscriptions.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetFlatFeeOverrideFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + flatFeeOverride_ = null; + if (flatFeeOverrideBuilder_ != null) { + flatFeeOverrideBuilder_.dispose(); + flatFeeOverrideBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.flatFeeOverride_ = + flatFeeOverrideBuilder_ == null + ? flatFeeOverride_ + : flatFeeOverrideBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance()) return this; + if (other.hasFlatFeeOverride()) { + mergeFlatFeeOverride(other.getFlatFeeOverride()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetFlatFeeOverrideFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 com.google.type.Money flatFeeOverride_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + flatFeeOverrideBuilder_; + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFeeOverride field is set. + */ + public boolean hasFlatFeeOverride() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFeeOverride. + */ + public com.google.type.Money getFlatFeeOverride() { + if (flatFeeOverrideBuilder_ == null) { + return flatFeeOverride_ == null + ? com.google.type.Money.getDefaultInstance() + : flatFeeOverride_; + } else { + return flatFeeOverrideBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFlatFeeOverride(com.google.type.Money value) { + if (flatFeeOverrideBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + flatFeeOverride_ = value; + } else { + flatFeeOverrideBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFlatFeeOverride(com.google.type.Money.Builder builderForValue) { + if (flatFeeOverrideBuilder_ == null) { + flatFeeOverride_ = builderForValue.build(); + } else { + flatFeeOverrideBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeFlatFeeOverride(com.google.type.Money value) { + if (flatFeeOverrideBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && flatFeeOverride_ != null + && flatFeeOverride_ != com.google.type.Money.getDefaultInstance()) { + getFlatFeeOverrideBuilder().mergeFrom(value); + } else { + flatFeeOverride_ = value; + } + } else { + flatFeeOverrideBuilder_.mergeFrom(value); + } + if (flatFeeOverride_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearFlatFeeOverride() { + bitField0_ = (bitField0_ & ~0x00000001); + flatFeeOverride_ = null; + if (flatFeeOverrideBuilder_ != null) { + flatFeeOverrideBuilder_.dispose(); + flatFeeOverrideBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Money.Builder getFlatFeeOverrideBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetFlatFeeOverrideFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.MoneyOrBuilder getFlatFeeOverrideOrBuilder() { + if (flatFeeOverrideBuilder_ != null) { + return flatFeeOverrideBuilder_.getMessageOrBuilder(); + } else { + return flatFeeOverride_ == null + ? com.google.type.Money.getDefaultInstance() + : flatFeeOverride_; + } + } + + /** + * + * + *
+           * Optional. Flat fee overriding the default flat fee in the base
+           * standard offer. Value cannot be negative. The currency must be "USD"
+           * and precision is limited to cents. Must be present to publish the
+           * offer, if the parent message is set. The maximum allowed value is
+           * 1,000,000,000 USD.
+           * 
+ * + * + * .google.type.Money flat_fee_override = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetFlatFeeOverrideFieldBuilder() { + if (flatFeeOverrideBuilder_ == null) { + flatFeeOverrideBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + getFlatFeeOverride(), getParentForChildren(), isClean()); + flatFeeOverride_ = null; + } + return flatFeeOverrideBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.PriceModel.FlatFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FlatFee 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CommitmentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitmentAmount field is set. + */ + boolean hasCommitmentAmount(); + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitmentAmount. + */ + com.google.type.Money getCommitmentAmount(); + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.MoneyOrBuilder getCommitmentAmountOrBuilder(); + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + boolean hasDiscountPercent(); + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + com.google.type.Decimal getDiscountPercent(); + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder(); + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the additionalCredit field is set. + */ + boolean hasAdditionalCredit(); + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The additionalCredit. + */ + com.google.type.Money getAdditionalCredit(); + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.MoneyOrBuilder getAdditionalCreditOrBuilder(); + + /** + * + * + *
+         * Optional. Whether to discard the previous credit balance when the
+         * associated installment starts. If not set, the previous credit
+         * balance will be rolled over to the current installment.
+         *
+         * If there are no previous installments, then the value of this field
+         * will not matter - since it has no effect when no credits exist.
+         * 
+ * + * bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discardPreviousCreditBalance. + */ + boolean getDiscardPreviousCreditBalance(); + } + + /** + * + * + *
+       * The price configurations for the commitment based subscriptions.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment} + */ + public static final class Commitment extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment) + CommitmentOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Commitment"); + } + + // Use Commitment.newBuilder() to construct. + private Commitment(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Commitment() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.Builder.class); + } + + private int bitField0_; + public static final int COMMITMENT_AMOUNT_FIELD_NUMBER = 1; + private com.google.type.Money commitmentAmount_; + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitmentAmount field is set. + */ + @java.lang.Override + public boolean hasCommitmentAmount() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitmentAmount. + */ + @java.lang.Override + public com.google.type.Money getCommitmentAmount() { + return commitmentAmount_ == null + ? com.google.type.Money.getDefaultInstance() + : commitmentAmount_; + } + + /** + * + * + *
+         * Optional. The commitment balance that the customer will receive.
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * Must be present to publish the offer, if the parent message is set.
+         * The maximum allowed value is 1,000,000,000 USD.
+         *
+         * If the current offer amends a private offer where the term has not
+         * ended, and if the field
+         * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+         * is set on both the current offer and the amended private offer, then
+         * the commitment amount must be equal or higher on the current offer,
+         * compared to the amended private offer.
+         * 
+ * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getCommitmentAmountOrBuilder() { + return commitmentAmount_ == null + ? com.google.type.Money.getDefaultInstance() + : commitmentAmount_; + } + + public static final int DISCOUNT_PERCENT_FIELD_NUMBER = 2; + private com.google.type.Decimal discountPercent_; + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + @java.lang.Override + public boolean hasDiscountPercent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + @java.lang.Override + public com.google.type.Decimal getDiscountPercent() { + return discountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : discountPercent_; + } + + /** + * + * + *
+         * Optional. The discount percent on `commitment_amount`.
+         *
+         * For example, `10` means a discount of 10%. If the original
+         * `commitment_amount` is $100 then the discounted amount will be $90.
+         * The customer is charged $90 and receives $100 in credits.
+         *
+         * All reported usage will be charged at the standard price.
+         * If this field is set, the `price_model.usage` must be unset. A
+         * private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         *
+         * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+         * places. If this field is set, then the allowed pattern for 'value'
+         * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+         * Examples of valid values: "0", "100.0", "12.34", "40.0".
+         * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+         *
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder() { + return discountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : discountPercent_; + } + + public static final int ADDITIONAL_CREDIT_FIELD_NUMBER = 3; + private com.google.type.Money additionalCredit_; + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the additionalCredit field is set. + */ + @java.lang.Override + public boolean hasAdditionalCredit() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The additionalCredit. + */ + @java.lang.Override + public com.google.type.Money getAdditionalCredit() { + return additionalCredit_ == null + ? com.google.type.Money.getDefaultInstance() + : additionalCredit_; + } + + /** + * + * + *
+         * Optional. Additional credit granted to the customer.
+         * Additional credits are only supported for custom interval offers.
+         * Equivalent behavior can be achieved for standard interval offers by
+         * varying the `commitment_amount` and `discount_percent`.
+         *
+         * Value cannot be negative.
+         * The currency must be "USD" and precision is limited to cents.
+         * The maximum allowed value is 1,000,000 USD.
+         * 
+ * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getAdditionalCreditOrBuilder() { + return additionalCredit_ == null + ? com.google.type.Money.getDefaultInstance() + : additionalCredit_; + } + + public static final int DISCARD_PREVIOUS_CREDIT_BALANCE_FIELD_NUMBER = 4; + private boolean discardPreviousCreditBalance_ = false; + + /** + * + * + *
+         * Optional. Whether to discard the previous credit balance when the
+         * associated installment starts. If not set, the previous credit
+         * balance will be rolled over to the current installment.
+         *
+         * If there are no previous installments, then the value of this field
+         * will not matter - since it has no effect when no credits exist.
+         * 
+ * + * bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discardPreviousCreditBalance. + */ + @java.lang.Override + public boolean getDiscardPreviousCreditBalance() { + return discardPreviousCreditBalance_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCommitmentAmount()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getDiscountPercent()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(3, getAdditionalCredit()); + } + if (discardPreviousCreditBalance_ != false) { + output.writeBool(4, discardPreviousCreditBalance_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCommitmentAmount()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDiscountPercent()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(3, getAdditionalCredit()); + } + if (discardPreviousCreditBalance_ != false) { + size += + com.google.protobuf.CodedOutputStream.computeBoolSize( + 4, discardPreviousCreditBalance_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + obj; + + if (hasCommitmentAmount() != other.hasCommitmentAmount()) return false; + if (hasCommitmentAmount()) { + if (!getCommitmentAmount().equals(other.getCommitmentAmount())) return false; + } + if (hasDiscountPercent() != other.hasDiscountPercent()) return false; + if (hasDiscountPercent()) { + if (!getDiscountPercent().equals(other.getDiscountPercent())) return false; + } + if (hasAdditionalCredit() != other.hasAdditionalCredit()) return false; + if (hasAdditionalCredit()) { + if (!getAdditionalCredit().equals(other.getAdditionalCredit())) return false; + } + if (getDiscardPreviousCreditBalance() != other.getDiscardPreviousCreditBalance()) + 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(); + if (hasCommitmentAmount()) { + hash = (37 * hash) + COMMITMENT_AMOUNT_FIELD_NUMBER; + hash = (53 * hash) + getCommitmentAmount().hashCode(); + } + if (hasDiscountPercent()) { + hash = (37 * hash) + DISCOUNT_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getDiscountPercent().hashCode(); + } + if (hasAdditionalCredit()) { + hash = (37 * hash) + ADDITIONAL_CREDIT_FIELD_NUMBER; + hash = (53 * hash) + getAdditionalCredit().hashCode(); + } + hash = (37 * hash) + DISCARD_PREVIOUS_CREDIT_BALANCE_FIELD_NUMBER; + hash = + (53 * hash) + + com.google.protobuf.Internal.hashBoolean(getDiscardPreviousCreditBalance()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The price configurations for the commitment based subscriptions.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCommitmentAmountFieldBuilder(); + internalGetDiscountPercentFieldBuilder(); + internalGetAdditionalCreditFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + commitmentAmount_ = null; + if (commitmentAmountBuilder_ != null) { + commitmentAmountBuilder_.dispose(); + commitmentAmountBuilder_ = null; + } + discountPercent_ = null; + if (discountPercentBuilder_ != null) { + discountPercentBuilder_.dispose(); + discountPercentBuilder_ = null; + } + additionalCredit_ = null; + if (additionalCreditBuilder_ != null) { + additionalCreditBuilder_.dispose(); + additionalCreditBuilder_ = null; + } + discardPreviousCreditBalance_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.commitmentAmount_ = + commitmentAmountBuilder_ == null + ? commitmentAmount_ + : commitmentAmountBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.discountPercent_ = + discountPercentBuilder_ == null + ? discountPercent_ + : discountPercentBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.additionalCredit_ = + additionalCreditBuilder_ == null + ? additionalCredit_ + : additionalCreditBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.discardPreviousCreditBalance_ = discardPreviousCreditBalance_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance()) return this; + if (other.hasCommitmentAmount()) { + mergeCommitmentAmount(other.getCommitmentAmount()); + } + if (other.hasDiscountPercent()) { + mergeDiscountPercent(other.getDiscountPercent()); + } + if (other.hasAdditionalCredit()) { + mergeAdditionalCredit(other.getAdditionalCredit()); + } + if (other.getDiscardPreviousCreditBalance() != false) { + setDiscardPreviousCreditBalance(other.getDiscardPreviousCreditBalance()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetCommitmentAmountFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetDiscountPercentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetAdditionalCreditFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + discardPreviousCreditBalance_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + 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 com.google.type.Money commitmentAmount_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + commitmentAmountBuilder_; + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitmentAmount field is set. + */ + public boolean hasCommitmentAmount() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitmentAmount. + */ + public com.google.type.Money getCommitmentAmount() { + if (commitmentAmountBuilder_ == null) { + return commitmentAmount_ == null + ? com.google.type.Money.getDefaultInstance() + : commitmentAmount_; + } else { + return commitmentAmountBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCommitmentAmount(com.google.type.Money value) { + if (commitmentAmountBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + commitmentAmount_ = value; + } else { + commitmentAmountBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCommitmentAmount(com.google.type.Money.Builder builderForValue) { + if (commitmentAmountBuilder_ == null) { + commitmentAmount_ = builderForValue.build(); + } else { + commitmentAmountBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeCommitmentAmount(com.google.type.Money value) { + if (commitmentAmountBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && commitmentAmount_ != null + && commitmentAmount_ != com.google.type.Money.getDefaultInstance()) { + getCommitmentAmountBuilder().mergeFrom(value); + } else { + commitmentAmount_ = value; + } + } else { + commitmentAmountBuilder_.mergeFrom(value); + } + if (commitmentAmount_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearCommitmentAmount() { + bitField0_ = (bitField0_ & ~0x00000001); + commitmentAmount_ = null; + if (commitmentAmountBuilder_ != null) { + commitmentAmountBuilder_.dispose(); + commitmentAmountBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Money.Builder getCommitmentAmountBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetCommitmentAmountFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.MoneyOrBuilder getCommitmentAmountOrBuilder() { + if (commitmentAmountBuilder_ != null) { + return commitmentAmountBuilder_.getMessageOrBuilder(); + } else { + return commitmentAmount_ == null + ? com.google.type.Money.getDefaultInstance() + : commitmentAmount_; + } + } + + /** + * + * + *
+           * Optional. The commitment balance that the customer will receive.
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * Must be present to publish the offer, if the parent message is set.
+           * The maximum allowed value is 1,000,000,000 USD.
+           *
+           * If the current offer amends a private offer where the term has not
+           * ended, and if the field
+           * `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount`
+           * is set on both the current offer and the amended private offer, then
+           * the commitment amount must be equal or higher on the current offer,
+           * compared to the amended private offer.
+           * 
+ * + * + * .google.type.Money commitment_amount = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetCommitmentAmountFieldBuilder() { + if (commitmentAmountBuilder_ == null) { + commitmentAmountBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + getCommitmentAmount(), getParentForChildren(), isClean()); + commitmentAmount_ = null; + } + return commitmentAmountBuilder_; + } + + private com.google.type.Decimal discountPercent_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + discountPercentBuilder_; + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the discountPercent field is set. + */ + public boolean hasDiscountPercent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discountPercent. + */ + public com.google.type.Decimal getDiscountPercent() { + if (discountPercentBuilder_ == null) { + return discountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : discountPercent_; + } else { + return discountPercentBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDiscountPercent(com.google.type.Decimal value) { + if (discountPercentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + discountPercent_ = value; + } else { + discountPercentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setDiscountPercent(com.google.type.Decimal.Builder builderForValue) { + if (discountPercentBuilder_ == null) { + discountPercent_ = builderForValue.build(); + } else { + discountPercentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeDiscountPercent(com.google.type.Decimal value) { + if (discountPercentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && discountPercent_ != null + && discountPercent_ != com.google.type.Decimal.getDefaultInstance()) { + getDiscountPercentBuilder().mergeFrom(value); + } else { + discountPercent_ = value; + } + } else { + discountPercentBuilder_.mergeFrom(value); + } + if (discountPercent_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearDiscountPercent() { + bitField0_ = (bitField0_ & ~0x00000002); + discountPercent_ = null; + if (discountPercentBuilder_ != null) { + discountPercentBuilder_.dispose(); + discountPercentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Decimal.Builder getDiscountPercentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetDiscountPercentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DecimalOrBuilder getDiscountPercentOrBuilder() { + if (discountPercentBuilder_ != null) { + return discountPercentBuilder_.getMessageOrBuilder(); + } else { + return discountPercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : discountPercent_; + } + } + + /** + * + * + *
+           * Optional. The discount percent on `commitment_amount`.
+           *
+           * For example, `10` means a discount of 10%. If the original
+           * `commitment_amount` is $100 then the discounted amount will be $90.
+           * The customer is charged $90 and receives $100 in credits.
+           *
+           * All reported usage will be charged at the standard price.
+           * If this field is set, the `price_model.usage` must be unset. A
+           * private offer can apply a discount to all usage or to a usage
+           * commitment, but not both.
+           *
+           * Must be between 0 and 100 inclusive, with precision up to 2 decimal
+           * places. If this field is set, then the allowed pattern for 'value'
+           * is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`.
+           * Examples of valid values: "0", "100.0", "12.34", "40.0".
+           * Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "".
+           *
+           * Must be present to publish the offer.
+           * 
+ * + * + * .google.type.Decimal discount_percent = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetDiscountPercentFieldBuilder() { + if (discountPercentBuilder_ == null) { + discountPercentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getDiscountPercent(), getParentForChildren(), isClean()); + discountPercent_ = null; + } + return discountPercentBuilder_; + } + + private com.google.type.Money additionalCredit_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + additionalCreditBuilder_; + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the additionalCredit field is set. + */ + public boolean hasAdditionalCredit() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The additionalCredit. + */ + public com.google.type.Money getAdditionalCredit() { + if (additionalCreditBuilder_ == null) { + return additionalCredit_ == null + ? com.google.type.Money.getDefaultInstance() + : additionalCredit_; + } else { + return additionalCreditBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAdditionalCredit(com.google.type.Money value) { + if (additionalCreditBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + additionalCredit_ = value; + } else { + additionalCreditBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAdditionalCredit(com.google.type.Money.Builder builderForValue) { + if (additionalCreditBuilder_ == null) { + additionalCredit_ = builderForValue.build(); + } else { + additionalCreditBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeAdditionalCredit(com.google.type.Money value) { + if (additionalCreditBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && additionalCredit_ != null + && additionalCredit_ != com.google.type.Money.getDefaultInstance()) { + getAdditionalCreditBuilder().mergeFrom(value); + } else { + additionalCredit_ = value; + } + } else { + additionalCreditBuilder_.mergeFrom(value); + } + if (additionalCredit_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearAdditionalCredit() { + bitField0_ = (bitField0_ & ~0x00000004); + additionalCredit_ = null; + if (additionalCreditBuilder_ != null) { + additionalCreditBuilder_.dispose(); + additionalCreditBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.Money.Builder getAdditionalCreditBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetAdditionalCreditFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.MoneyOrBuilder getAdditionalCreditOrBuilder() { + if (additionalCreditBuilder_ != null) { + return additionalCreditBuilder_.getMessageOrBuilder(); + } else { + return additionalCredit_ == null + ? com.google.type.Money.getDefaultInstance() + : additionalCredit_; + } + } + + /** + * + * + *
+           * Optional. Additional credit granted to the customer.
+           * Additional credits are only supported for custom interval offers.
+           * Equivalent behavior can be achieved for standard interval offers by
+           * varying the `commitment_amount` and `discount_percent`.
+           *
+           * Value cannot be negative.
+           * The currency must be "USD" and precision is limited to cents.
+           * The maximum allowed value is 1,000,000 USD.
+           * 
+ * + * + * .google.type.Money additional_credit = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetAdditionalCreditFieldBuilder() { + if (additionalCreditBuilder_ == null) { + additionalCreditBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + getAdditionalCredit(), getParentForChildren(), isClean()); + additionalCredit_ = null; + } + return additionalCreditBuilder_; + } + + private boolean discardPreviousCreditBalance_; + + /** + * + * + *
+           * Optional. Whether to discard the previous credit balance when the
+           * associated installment starts. If not set, the previous credit
+           * balance will be rolled over to the current installment.
+           *
+           * If there are no previous installments, then the value of this field
+           * will not matter - since it has no effect when no credits exist.
+           * 
+ * + * + * bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The discardPreviousCreditBalance. + */ + @java.lang.Override + public boolean getDiscardPreviousCreditBalance() { + return discardPreviousCreditBalance_; + } + + /** + * + * + *
+           * Optional. Whether to discard the previous credit balance when the
+           * associated installment starts. If not set, the previous credit
+           * balance will be rolled over to the current installment.
+           *
+           * If there are no previous installments, then the value of this field
+           * will not matter - since it has no effect when no credits exist.
+           * 
+ * + * + * bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The discardPreviousCreditBalance to set. + * @return This builder for chaining. + */ + public Builder setDiscardPreviousCreditBalance(boolean value) { + + discardPreviousCreditBalance_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+           * Optional. Whether to discard the previous credit balance when the
+           * associated installment starts. If not set, the previous credit
+           * balance will be rolled over to the current installment.
+           *
+           * If there are no previous installments, then the value of this field
+           * will not matter - since it has no effect when no credits exist.
+           * 
+ * + * + * bool discard_previous_credit_balance = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearDiscardPreviousCreditBalance() { + bitField0_ = (bitField0_ & ~0x00000008); + discardPreviousCreditBalance_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.PriceModel.Commitment + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Commitment 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int subscriptionCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object subscription_; + + public enum SubscriptionCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + FLAT_FEE(2), + COMMITMENT(3), + SUBSCRIPTION_NOT_SET(0); + private final int value; + + private SubscriptionCase(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 SubscriptionCase valueOf(int value) { + return forNumber(value); + } + + public static SubscriptionCase forNumber(int value) { + switch (value) { + case 2: + return FLAT_FEE; + case 3: + return COMMITMENT; + case 0: + return SUBSCRIPTION_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SubscriptionCase getSubscriptionCase() { + return SubscriptionCase.forNumber(subscriptionCase_); + } + + public static final int FLAT_FEE_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFee field is set. + */ + @java.lang.Override + public boolean hasFlatFee() { + return subscriptionCase_ == 2; + } + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + getFlatFee() { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.getDefaultInstance(); + } + + /** + * + * + *
+       * Optional. The price configurations for the flat fee subscription.
+       * Must be unset when the base standard offer's price model does not
+       * include subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder + getFlatFeeOrBuilder() { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.getDefaultInstance(); + } + + public static final int COMMITMENT_FIELD_NUMBER = 3; + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitment field is set. + */ + @java.lang.Override + public boolean hasCommitment() { + return subscriptionCase_ == 3; + } + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitment. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + getCommitment() { + if (subscriptionCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.getDefaultInstance(); + } + + /** + * + * + *
+       * Optional. The price configurations for the commitment based
+       * subscription. Must be unset when the base standard offer's price
+       * model includes subscription SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder + getCommitmentOrBuilder() { + if (subscriptionCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.getDefaultInstance(); + } + + public static final int USAGE_FIELD_NUMBER = 1; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + usage_; + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the usage field is set. + */ + @java.lang.Override + public boolean hasUsage() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The usage. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + getUsage() { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.getDefaultInstance() + : usage_; + } + + /** + * + * + *
+       * Optional. The price configurations for the usage part.
+       * If this field is set, the `Commitment.discount_percent` must be unset.
+       * A private offer can apply a discount to all usage or to a usage
+       * commitment, but not both.
+       * Must be unset when the base standard offer's price model includes no
+       * usage SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder + getUsageOrBuilder() { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.getDefaultInstance() + : usage_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUsage()); + } + if (subscriptionCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee) + subscription_); + } + if (subscriptionCase_ == 3) { + output.writeMessage( + 3, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment) + subscription_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUsage()); + } + if (subscriptionCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_); + } + if (subscriptionCase_ == 3) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 3, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + obj; + + if (hasUsage() != other.hasUsage()) return false; + if (hasUsage()) { + if (!getUsage().equals(other.getUsage())) return false; + } + if (!getSubscriptionCase().equals(other.getSubscriptionCase())) return false; + switch (subscriptionCase_) { + case 2: + if (!getFlatFee().equals(other.getFlatFee())) return false; + break; + case 3: + if (!getCommitment().equals(other.getCommitment())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUsage()) { + hash = (37 * hash) + USAGE_FIELD_NUMBER; + hash = (53 * hash) + getUsage().hashCode(); + } + switch (subscriptionCase_) { + case 2: + hash = (37 * hash) + FLAT_FEE_FIELD_NUMBER; + hash = (53 * hash) + getFlatFee().hashCode(); + break; + case 3: + hash = (37 * hash) + COMMITMENT_FIELD_NUMBER; + hash = (53 * hash) + getCommitment().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * The price model of the private offer.
+       *
+       * Private offers are referred to as having different kinds of price models
+       * based on the combination of fields set in the price model. The following
+       * terminology is used in documentation and other reference material.
+       *
+       * * Usage-based: the price model does not set `flat_fee`
+       * * Usage-only: the price model sets only `usage`
+       * * CUD (committed use discount): the price model sets `commitment`
+       * * Commitment discount with additional usage at list price:
+       * The price model sets `commitment` and not `usage`.
+       * * Commitment with all usage discounted: The price model sets
+       * `commitment` and `usage`.
+       * * Flat fee: the price model sets only `flat_fee`
+       * * Flat fee with usage: the price model sets `flat_fee` and `usage`
+       *
+       * See
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-pricing-model#CUD
+       * for the price models.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUsageFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (flatFeeBuilder_ != null) { + flatFeeBuilder_.clear(); + } + if (commitmentBuilder_ != null) { + commitmentBuilder_.clear(); + } + usage_ = null; + if (usageBuilder_ != null) { + usageBuilder_.dispose(); + usageBuilder_ = null; + } + subscriptionCase_ = 0; + subscription_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.usage_ = usageBuilder_ == null ? usage_ : usageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + result) { + result.subscriptionCase_ = subscriptionCase_; + result.subscription_ = this.subscription_; + if (subscriptionCase_ == 2 && flatFeeBuilder_ != null) { + result.subscription_ = flatFeeBuilder_.build(); + } + if (subscriptionCase_ == 3 && commitmentBuilder_ != null) { + result.subscription_ = commitmentBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance()) return this; + if (other.hasUsage()) { + mergeUsage(other.getUsage()); + } + switch (other.getSubscriptionCase()) { + case FLAT_FEE: + { + mergeFlatFee(other.getFlatFee()); + break; + } + case COMMITMENT: + { + mergeCommitment(other.getCommitment()); + break; + } + case SUBSCRIPTION_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetUsageFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetFlatFeeFieldBuilder().getBuilder(), extensionRegistry); + subscriptionCase_ = 2; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetCommitmentFieldBuilder().getBuilder(), extensionRegistry); + subscriptionCase_ = 3; + break; + } // case 26 + 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 subscriptionCase_ = 0; + private java.lang.Object subscription_; + + public SubscriptionCase getSubscriptionCase() { + return SubscriptionCase.forNumber(subscriptionCase_); + } + + public Builder clearSubscription() { + subscriptionCase_ = 0; + subscription_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder> + flatFeeBuilder_; + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the flatFee field is set. + */ + @java.lang.Override + public boolean hasFlatFee() { + return subscriptionCase_ == 2; + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The flatFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + getFlatFee() { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance(); + } else { + if (subscriptionCase_ == 2) { + return flatFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFlatFee( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + value) { + if (flatFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subscription_ = value; + onChanged(); + } else { + flatFeeBuilder_.setMessage(value); + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFlatFee( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.Builder + builderForValue) { + if (flatFeeBuilder_ == null) { + subscription_ = builderForValue.build(); + onChanged(); + } else { + flatFeeBuilder_.setMessage(builderForValue.build()); + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeFlatFee( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee + value) { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2 + && subscription_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance()) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.newBuilder( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_) + .mergeFrom(value) + .buildPartial(); + } else { + subscription_ = value; + } + onChanged(); + } else { + if (subscriptionCase_ == 2) { + flatFeeBuilder_.mergeFrom(value); + } else { + flatFeeBuilder_.setMessage(value); + } + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearFlatFee() { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2) { + subscriptionCase_ = 0; + subscription_ = null; + onChanged(); + } + } else { + if (subscriptionCase_ == 2) { + subscriptionCase_ = 0; + subscription_ = null; + } + flatFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.Builder + getFlatFeeBuilder() { + return internalGetFlatFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder + getFlatFeeOrBuilder() { + if ((subscriptionCase_ == 2) && (flatFeeBuilder_ != null)) { + return flatFeeBuilder_.getMessageOrBuilder(); + } else { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Optional. The price configurations for the flat fee subscription.
+         * Must be unset when the base standard offer's price model does not
+         * include subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFee flat_fee = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFee.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .FlatFeeOrBuilder> + internalGetFlatFeeFieldBuilder() { + if (flatFeeBuilder_ == null) { + if (!(subscriptionCase_ == 2)) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.getDefaultInstance(); + } + flatFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.FlatFee) + subscription_, + getParentForChildren(), + isClean()); + subscription_ = null; + } + subscriptionCase_ = 2; + onChanged(); + return flatFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder> + commitmentBuilder_; + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the commitment field is set. + */ + @java.lang.Override + public boolean hasCommitment() { + return subscriptionCase_ == 3; + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The commitment. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + getCommitment() { + if (commitmentBuilder_ == null) { + if (subscriptionCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance(); + } else { + if (subscriptionCase_ == 3) { + return commitmentBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCommitment( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + value) { + if (commitmentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subscription_ = value; + onChanged(); + } else { + commitmentBuilder_.setMessage(value); + } + subscriptionCase_ = 3; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCommitment( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.Builder + builderForValue) { + if (commitmentBuilder_ == null) { + subscription_ = builderForValue.build(); + onChanged(); + } else { + commitmentBuilder_.setMessage(builderForValue.build()); + } + subscriptionCase_ = 3; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeCommitment( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment + value) { + if (commitmentBuilder_ == null) { + if (subscriptionCase_ == 3 + && subscription_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance()) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.newBuilder( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_) + .mergeFrom(value) + .buildPartial(); + } else { + subscription_ = value; + } + onChanged(); + } else { + if (subscriptionCase_ == 3) { + commitmentBuilder_.mergeFrom(value); + } else { + commitmentBuilder_.setMessage(value); + } + } + subscriptionCase_ = 3; + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearCommitment() { + if (commitmentBuilder_ == null) { + if (subscriptionCase_ == 3) { + subscriptionCase_ = 0; + subscription_ = null; + onChanged(); + } + } else { + if (subscriptionCase_ == 3) { + subscriptionCase_ = 0; + subscription_ = null; + } + commitmentBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.Builder + getCommitmentBuilder() { + return internalGetCommitmentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder + getCommitmentOrBuilder() { + if ((subscriptionCase_ == 3) && (commitmentBuilder_ != null)) { + return commitmentBuilder_.getMessageOrBuilder(); + } else { + if (subscriptionCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Optional. The price configurations for the commitment based
+         * subscription. Must be unset when the base standard offer's price
+         * model includes subscription SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Commitment commitment = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Commitment.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .CommitmentOrBuilder> + internalGetCommitmentFieldBuilder() { + if (commitmentBuilder_ == null) { + if (!(subscriptionCase_ == 3)) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.getDefaultInstance(); + } + commitmentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.CommitmentOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Commitment) + subscription_, + getParentForChildren(), + isClean()); + subscription_ = null; + } + subscriptionCase_ = 3; + onChanged(); + return commitmentBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + usage_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder> + usageBuilder_; + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the usage field is set. + */ + public boolean hasUsage() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The usage. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + getUsage() { + if (usageBuilder_ == null) { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.getDefaultInstance() + : usage_; + } else { + return usageBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUsage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + value) { + if (usageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + usage_ = value; + } else { + usageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUsage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.Builder + builderForValue) { + if (usageBuilder_ == null) { + usage_ = builderForValue.build(); + } else { + usageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUsage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage + value) { + if (usageBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && usage_ != null + && usage_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.getDefaultInstance()) { + getUsageBuilder().mergeFrom(value); + } else { + usage_ = value; + } + } else { + usageBuilder_.mergeFrom(value); + } + if (usage_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUsage() { + bitField0_ = (bitField0_ & ~0x00000004); + usage_ = null; + if (usageBuilder_ != null) { + usageBuilder_.dispose(); + usageBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.Builder + getUsageBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetUsageFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder + getUsageOrBuilder() { + if (usageBuilder_ != null) { + return usageBuilder_.getMessageOrBuilder(); + } else { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.getDefaultInstance() + : usage_; + } + } + + /** + * + * + *
+         * Optional. The price configurations for the usage part.
+         * If this field is set, the `Commitment.discount_percent` must be unset.
+         * A private offer can apply a discount to all usage or to a usage
+         * commitment, but not both.
+         * Must be unset when the base standard offer's price model includes no
+         * usage SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Usage.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .UsageOrBuilder> + internalGetUsageFieldBuilder() { + if (usageBuilder_ == null) { + usageBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Usage.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.UsageOrBuilder>(getUsage(), getParentForChildren(), isClean()); + usage_ = null; + } + return usageBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PriceModel 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface StandardIntervalPriceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Optional. The standard interval of the offer.
+       * Must be present to publish unless the price model is usage-only.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for standardInterval. + */ + int getStandardIntervalValue(); + + /** + * + * + *
+       * Optional. The standard interval of the offer.
+       * Must be present to publish unless the price model is usage-only.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardInterval. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice + .StandardInterval + getStandardInterval(); + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + boolean hasPriceModel(); + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel(); + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModelOrBuilder + getPriceModelOrBuilder(); + } + + /** + * + * + *
+     * Price configurations for offers with standard intervals.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice} + */ + public static final class StandardIntervalPrice extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice) + StandardIntervalPriceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StandardIntervalPrice"); + } + + // Use StandardIntervalPrice.newBuilder() to construct. + private StandardIntervalPrice(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private StandardIntervalPrice() { + standardInterval_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder.class); + } + + /** + * + * + *
+       * The options for offers with standard intervals.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval} + */ + public enum StandardInterval implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * The private offer does not have an interval.
+         * If this is set, then the offer is "usage-only".
+         * Field `term.duration_months` must be positive.
+         * 
+ * + * STANDARD_INTERVAL_UNSPECIFIED = 0; + */ + STANDARD_INTERVAL_UNSPECIFIED(0), + /** + * + * + *
+         * The schedule of the monthly postpay offers.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * No longer supported as of May 2024. Cannot be used to publish
+         * new offers.
+         * 
+ * + * MONTHLY_POSTPAY = 1 [deprecated = true]; + */ + @java.lang.Deprecated + MONTHLY_POSTPAY(1), + /** + * + * + *
+         * Monthly installments with proration.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 04/15, and the offer duration is
+         * 3 months, the following installments will be created:
+         * # 1: from 04/15 to 05/01, at the prorated price for April.
+         *
+         * # 2: from 05/01 to 06/01, at the full monthly price for May.
+         *
+         * # 3: from 06/01 to 07/01, at the full monthly price for June.
+         *
+         * # 4: from 07/01 to 07/15, at the prorated price for July.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * MONTHLY_PRORATED = 2; + */ + MONTHLY_PRORATED(2), + /** + * + * + *
+         * Monthly installments without proration.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 04/15, and the offer duration is
+         * 3 months, the following installments will be created:
+         * # 1: from 04/15 to 05/15, at the full monthly price.
+         *
+         * # 2: from 05/15 to 06/15, at the full monthly price.
+         *
+         * # 3: from 06/15 to 07/15, at the full monthly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * MONTHLY_NOT_PRORATED = 3; + */ + MONTHLY_NOT_PRORATED(3), + /** + * + * + *
+         * Quarterly installments which are not prorated.
+         * This type of offer has "Quarterly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 01/15, and the offer duration is
+         * 3 quarters, the following installments will be created:
+         * # 1: from 01/15 to 04/15, at the full quarterly price.
+         *
+         * # 2: from 04/15 to 07/15, at the full quarterly price.
+         *
+         * # 3: from 07/15 to 10/15, at the full quarterly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * QUARTERLY_NOT_PRORATED = 4; + */ + QUARTERLY_NOT_PRORATED(4), + /** + * + * + *
+         * Yearly installments which are not prorated.
+         * This type of offer has "Yearly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 01/15/2025, and the offer
+         * duration is 3 years, the following installments will be created:
+         * # 1: from 01/15/2025 to 01/15/2026, at the full yearly price.
+         *
+         * # 2: from 01/15/2026 to 01/15/2027, at the full yearly price.
+         *
+         * # 3: from 01/15/2027 to 01/15/2028, at the full yearly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * YEARLY_NOT_PRORATED = 5; + */ + YEARLY_NOT_PRORATED(5), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StandardInterval"); + } + + /** + * + * + *
+         * The private offer does not have an interval.
+         * If this is set, then the offer is "usage-only".
+         * Field `term.duration_months` must be positive.
+         * 
+ * + * STANDARD_INTERVAL_UNSPECIFIED = 0; + */ + public static final int STANDARD_INTERVAL_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * The schedule of the monthly postpay offers.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * No longer supported as of May 2024. Cannot be used to publish
+         * new offers.
+         * 
+ * + * MONTHLY_POSTPAY = 1 [deprecated = true]; + */ + @java.lang.Deprecated public static final int MONTHLY_POSTPAY_VALUE = 1; + + /** + * + * + *
+         * Monthly installments with proration.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 04/15, and the offer duration is
+         * 3 months, the following installments will be created:
+         * # 1: from 04/15 to 05/01, at the prorated price for April.
+         *
+         * # 2: from 05/01 to 06/01, at the full monthly price for May.
+         *
+         * # 3: from 06/01 to 07/01, at the full monthly price for June.
+         *
+         * # 4: from 07/01 to 07/15, at the prorated price for July.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * MONTHLY_PRORATED = 2; + */ + public static final int MONTHLY_PRORATED_VALUE = 2; + + /** + * + * + *
+         * Monthly installments without proration.
+         * This type of offer has "Monthly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 04/15, and the offer duration is
+         * 3 months, the following installments will be created:
+         * # 1: from 04/15 to 05/15, at the full monthly price.
+         *
+         * # 2: from 05/15 to 06/15, at the full monthly price.
+         *
+         * # 3: from 06/15 to 07/15, at the full monthly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * MONTHLY_NOT_PRORATED = 3; + */ + public static final int MONTHLY_NOT_PRORATED_VALUE = 3; + + /** + * + * + *
+         * Quarterly installments which are not prorated.
+         * This type of offer has "Quarterly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 01/15, and the offer duration is
+         * 3 quarters, the following installments will be created:
+         * # 1: from 01/15 to 04/15, at the full quarterly price.
+         *
+         * # 2: from 04/15 to 07/15, at the full quarterly price.
+         *
+         * # 3: from 07/15 to 10/15, at the full quarterly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * QUARTERLY_NOT_PRORATED = 4; + */ + public static final int QUARTERLY_NOT_PRORATED_VALUE = 4; + + /** + * + * + *
+         * Yearly installments which are not prorated.
+         * This type of offer has "Yearly" billing frequency (see
+         * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule).
+         * For example, if the offer starts on 01/15/2025, and the offer
+         * duration is 3 years, the following installments will be created:
+         * # 1: from 01/15/2025 to 01/15/2026, at the full yearly price.
+         *
+         * # 2: from 01/15/2026 to 01/15/2027, at the full yearly price.
+         *
+         * # 3: from 01/15/2027 to 01/15/2028, at the full yearly price.
+         *
+         * All dates represent the start of that day in the America/Los_Angeles
+         * time zone.
+         *
+         * If this is set:
+         *
+         * * The `PriceModel.subscription` oneof must be set.
+         * * Field `term.duration_months` must be positive.
+         * 
+ * + * YEARLY_NOT_PRORATED = 5; + */ + public static final int YEARLY_NOT_PRORATED_VALUE = 5; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static StandardInterval valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static StandardInterval forNumber(int value) { + switch (value) { + case 0: + return STANDARD_INTERVAL_UNSPECIFIED; + case 1: + return MONTHLY_POSTPAY; + case 2: + return MONTHLY_PRORATED; + case 3: + return MONTHLY_NOT_PRORATED; + case 4: + return QUARTERLY_NOT_PRORATED; + case 5: + return YEARLY_NOT_PRORATED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public StandardInterval findValueByNumber(int number) { + return StandardInterval.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final StandardInterval[] VALUES = values(); + + public static StandardInterval valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private StandardInterval(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval) + } + + private int bitField0_; + public static final int STANDARD_INTERVAL_FIELD_NUMBER = 1; + private int standardInterval_ = 0; + + /** + * + * + *
+       * Optional. The standard interval of the offer.
+       * Must be present to publish unless the price model is usage-only.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for standardInterval. + */ + @java.lang.Override + public int getStandardIntervalValue() { + return standardInterval_; + } + + /** + * + * + *
+       * Optional. The standard interval of the offer.
+       * Must be present to publish unless the price model is usage-only.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardInterval. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval + getStandardInterval() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval + result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.forNumber(standardInterval_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.UNRECOGNIZED + : result; + } + + public static final int PRICE_MODEL_FIELD_NUMBER = 2; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + priceModel_; + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + @java.lang.Override + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance() + : priceModel_; + } + + /** + * + * + *
+       * Optional. The price model of the offer.
+       * Must be present to publish the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder + getPriceModelOrBuilder() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance() + : priceModel_; + } + + 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 (standardInterval_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.STANDARD_INTERVAL_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, standardInterval_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getPriceModel()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (standardInterval_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.STANDARD_INTERVAL_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, standardInterval_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPriceModel()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + obj; + + if (standardInterval_ != other.standardInterval_) return false; + if (hasPriceModel() != other.hasPriceModel()) return false; + if (hasPriceModel()) { + if (!getPriceModel().equals(other.getPriceModel())) 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) + STANDARD_INTERVAL_FIELD_NUMBER; + hash = (53 * hash) + standardInterval_; + if (hasPriceModel()) { + hash = (37 * hash) + PRICE_MODEL_FIELD_NUMBER; + hash = (53 * hash) + getPriceModel().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Price configurations for offers with standard intervals.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPriceModelFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + standardInterval_ = 0; + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.standardInterval_ = standardInterval_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.priceModel_ = + priceModelBuilder_ == null ? priceModel_ : priceModelBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance()) return this; + if (other.standardInterval_ != 0) { + setStandardIntervalValue(other.getStandardIntervalValue()); + } + if (other.hasPriceModel()) { + mergePriceModel(other.getPriceModel()); + } + 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 8: + { + standardInterval_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetPriceModelFieldBuilder().getBuilder(), extensionRegistry); + 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 int standardInterval_ = 0; + + /** + * + * + *
+         * Optional. The standard interval of the offer.
+         * Must be present to publish unless the price model is usage-only.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for standardInterval. + */ + @java.lang.Override + public int getStandardIntervalValue() { + return standardInterval_; + } + + /** + * + * + *
+         * Optional. The standard interval of the offer.
+         * Must be present to publish unless the price model is usage-only.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for standardInterval to set. + * @return This builder for chaining. + */ + public Builder setStandardIntervalValue(int value) { + standardInterval_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The standard interval of the offer.
+         * Must be present to publish unless the price model is usage-only.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardInterval. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval + getStandardInterval() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval + result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.forNumber(standardInterval_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Optional. The standard interval of the offer.
+         * Must be present to publish unless the price model is usage-only.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The standardInterval to set. + * @return This builder for chaining. + */ + public Builder setStandardInterval( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.StandardInterval + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + standardInterval_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The standard interval of the offer.
+         * Must be present to publish unless the price model is usage-only.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice.StandardInterval standard_interval = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearStandardInterval() { + bitField0_ = (bitField0_ & ~0x00000001); + standardInterval_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + priceModel_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder> + priceModelBuilder_; + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel() { + if (priceModelBuilder_ == null) { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance() + : priceModel_; + } else { + return priceModelBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + value) { + if (priceModelBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceModel_ = value; + } else { + priceModelBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder + builderForValue) { + if (priceModelBuilder_ == null) { + priceModel_ = builderForValue.build(); + } else { + priceModelBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergePriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + value) { + if (priceModelBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && priceModel_ != null + && priceModel_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance()) { + getPriceModelBuilder().mergeFrom(value); + } else { + priceModel_ = value; + } + } else { + priceModelBuilder_.mergeFrom(value); + } + if (priceModel_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearPriceModel() { + bitField0_ = (bitField0_ & ~0x00000002); + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder + getPriceModelBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPriceModelFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder + getPriceModelOrBuilder() { + if (priceModelBuilder_ != null) { + return priceModelBuilder_.getMessageOrBuilder(); + } else { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance() + : priceModel_; + } + } + + /** + * + * + *
+         * Optional. The price model of the offer.
+         * Must be present to publish the offer.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder> + internalGetPriceModelFieldBuilder() { + if (priceModelBuilder_ == null) { + priceModelBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder>(getPriceModel(), getParentForChildren(), isClean()); + priceModel_ = null; + } + return priceModelBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public StandardIntervalPrice 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface InstallmentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the startTime field is set. + */ + boolean hasStartTime(); + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startTime. + */ + com.google.type.DateTime getStartTime(); + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DateTimeOrBuilder getStartTimeOrBuilder(); + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + boolean hasPriceModel(); + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel(); + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModelOrBuilder + getPriceModelOrBuilder(); + } + + /** + * + * + *
+     * An installment of the offer.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment} + */ + public static final class Installment extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + InstallmentOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Installment"); + } + + // Use Installment.newBuilder() to construct. + private Installment(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Installment() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder.class); + } + + private int bitField0_; + public static final int START_TIME_FIELD_NUMBER = 1; + private com.google.type.DateTime startTime_; + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the startTime field is set. + */ + @java.lang.Override + public boolean hasStartTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startTime. + */ + @java.lang.Override + public com.google.type.DateTime getStartTime() { + return startTime_ == null ? com.google.type.DateTime.getDefaultInstance() : startTime_; + } + + /** + * + * + *
+       * Optional. The start time of the installment.
+       * Each installment must have a unique start time with one exception:
+       * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+       * the `start_time` of the first installment must be unset.
+       * The actual start time is not recorded in the offer and instead is
+       * determined by the time the resulting order became active.
+       *
+       * When the `term.start_policy` of the offer's term is
+       * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+       * match `term.scheduled_start_time`.
+       *
+       * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+       * then installment `start_time` must be before `term.scheduled_end_time`.
+       * If it's `AFTER_DURATION`, then installment `start_time` must be before
+       * the time calculated by adding the `term.duration_months` to
+       * the start time of the offer.
+       *
+       * The `start_time` of the installments cannot be before the
+       * `accept_deadline_time` of the offer.
+       *
+       * Installment start times must be in strictly increasing chronological
+       * order.
+       * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DateTimeOrBuilder getStartTimeOrBuilder() { + return startTime_ == null ? com.google.type.DateTime.getDefaultInstance() : startTime_; + } + + public static final int PRICE_MODEL_FIELD_NUMBER = 2; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + priceModel_; + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + @java.lang.Override + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance() + : priceModel_; + } + + /** + * + * + *
+       * Optional. The price model of the installment.
+       * All installments must have the same form of price model.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder + getPriceModelOrBuilder() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .getDefaultInstance() + : priceModel_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getStartTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getPriceModel()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStartTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPriceModel()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + obj; + + if (hasStartTime() != other.hasStartTime()) return false; + if (hasStartTime()) { + if (!getStartTime().equals(other.getStartTime())) return false; + } + if (hasPriceModel() != other.hasPriceModel()) return false; + if (hasPriceModel()) { + if (!getPriceModel().equals(other.getPriceModel())) 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(); + if (hasStartTime()) { + hash = (37 * hash) + START_TIME_FIELD_NUMBER; + hash = (53 * hash) + getStartTime().hashCode(); + } + if (hasPriceModel()) { + hash = (37 * hash) + PRICE_MODEL_FIELD_NUMBER; + hash = (53 * hash) + getPriceModel().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * An installment of the offer.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetStartTimeFieldBuilder(); + internalGetPriceModelFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + startTime_ = null; + if (startTimeBuilder_ != null) { + startTimeBuilder_.dispose(); + startTimeBuilder_ = null; + } + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startTime_ = startTimeBuilder_ == null ? startTime_ : startTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.priceModel_ = + priceModelBuilder_ == null ? priceModel_ : priceModelBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.getDefaultInstance()) return this; + if (other.hasStartTime()) { + mergeStartTime(other.getStartTime()); + } + if (other.hasPriceModel()) { + mergePriceModel(other.getPriceModel()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetStartTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetPriceModelFieldBuilder().getBuilder(), extensionRegistry); + 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 com.google.type.DateTime startTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + startTimeBuilder_; + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the startTime field is set. + */ + public boolean hasStartTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The startTime. + */ + public com.google.type.DateTime getStartTime() { + if (startTimeBuilder_ == null) { + return startTime_ == null ? com.google.type.DateTime.getDefaultInstance() : startTime_; + } else { + return startTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setStartTime(com.google.type.DateTime value) { + if (startTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startTime_ = value; + } else { + startTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setStartTime(com.google.type.DateTime.Builder builderForValue) { + if (startTimeBuilder_ == null) { + startTime_ = builderForValue.build(); + } else { + startTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeStartTime(com.google.type.DateTime value) { + if (startTimeBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && startTime_ != null + && startTime_ != com.google.type.DateTime.getDefaultInstance()) { + getStartTimeBuilder().mergeFrom(value); + } else { + startTime_ = value; + } + } else { + startTimeBuilder_.mergeFrom(value); + } + if (startTime_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearStartTime() { + bitField0_ = (bitField0_ & ~0x00000001); + startTime_ = null; + if (startTimeBuilder_ != null) { + startTimeBuilder_.dispose(); + startTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTime.Builder getStartTimeBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetStartTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTimeOrBuilder getStartTimeOrBuilder() { + if (startTimeBuilder_ != null) { + return startTimeBuilder_.getMessageOrBuilder(); + } else { + return startTime_ == null ? com.google.type.DateTime.getDefaultInstance() : startTime_; + } + } + + /** + * + * + *
+         * Optional. The start time of the installment.
+         * Each installment must have a unique start time with one exception:
+         * When the `term.start_policy` of the offer's term is `IMMEDIATE`,
+         * the `start_time` of the first installment must be unset.
+         * The actual start time is not recorded in the offer and instead is
+         * determined by the time the resulting order became active.
+         *
+         * When the `term.start_policy` of the offer's term is
+         * `SCHEDULED_START_TIME`, then the first installment's `start_time` must
+         * match `term.scheduled_start_time`.
+         *
+         * If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`,
+         * then installment `start_time` must be before `term.scheduled_end_time`.
+         * If it's `AFTER_DURATION`, then installment `start_time` must be before
+         * the time calculated by adding the `term.duration_months` to
+         * the start time of the offer.
+         *
+         * The `start_time` of the installments cannot be before the
+         * `accept_deadline_time` of the offer.
+         *
+         * Installment start times must be in strictly increasing chronological
+         * order.
+         * 
+ * + * .google.type.DateTime start_time = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + internalGetStartTimeFieldBuilder() { + if (startTimeBuilder_ == null) { + startTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder>( + getStartTime(), getParentForChildren(), isClean()); + startTime_ = null; + } + return startTimeBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + priceModel_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder> + priceModelBuilder_; + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the priceModel field is set. + */ + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The priceModel. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + getPriceModel() { + if (priceModelBuilder_ == null) { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance() + : priceModel_; + } else { + return priceModelBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + value) { + if (priceModelBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceModel_ = value; + } else { + priceModelBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder + builderForValue) { + if (priceModelBuilder_ == null) { + priceModel_ = builderForValue.build(); + } else { + priceModelBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergePriceModel( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + value) { + if (priceModelBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && priceModel_ != null + && priceModel_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance()) { + getPriceModelBuilder().mergeFrom(value); + } else { + priceModel_ = value; + } + } else { + priceModelBuilder_.mergeFrom(value); + } + if (priceModel_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearPriceModel() { + bitField0_ = (bitField0_ & ~0x00000002); + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder + getPriceModelBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPriceModelFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder + getPriceModelOrBuilder() { + if (priceModelBuilder_ != null) { + return priceModelBuilder_.getMessageOrBuilder(); + } else { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.getDefaultInstance() + : priceModel_; + } + } + + /** + * + * + *
+         * Optional. The price model of the installment.
+         * All installments must have the same form of price model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel price_model = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder> + internalGetPriceModelFieldBuilder() { + if (priceModelBuilder_ == null) { + priceModelBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModel.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .PriceModelOrBuilder>(getPriceModel(), getParentForChildren(), isClean()); + priceModel_ = null; + } + return priceModelBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Installment 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CustomIntervalPriceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + getInstallmentsList(); + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getInstallments(int index); + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getInstallmentsCount(); + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getInstallmentsOrBuilderList(); + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.InstallmentOrBuilder + getInstallmentsOrBuilder(int index); + } + + /** + * + * + *
+     * Price configurations for offers with custom intervals.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice} + */ + public static final class CustomIntervalPrice extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice) + CustomIntervalPriceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CustomIntervalPrice"); + } + + // Use CustomIntervalPrice.newBuilder() to construct. + private CustomIntervalPrice(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CustomIntervalPrice() { + installments_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder.class); + } + + public static final int INSTALLMENTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + installments_; + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + getInstallmentsList() { + return installments_; + } + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getInstallmentsOrBuilderList() { + return installments_; + } + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public int getInstallmentsCount() { + return installments_.size(); + } + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getInstallments(int index) { + return installments_.get(index); + } + + /** + * + * + *
+       * Optional. The installments that make up the installment timeline.
+       * All installments must have the same form of price model (e.g.
+       * all commitment, or all flat fee). A subscription must be present
+       * under the price model for every installment.
+       *
+       * Must contain at least one installment to publish the offer.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder + getInstallmentsOrBuilder(int index) { + return installments_.get(index); + } + + 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 { + for (int i = 0; i < installments_.size(); i++) { + output.writeMessage(1, installments_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < installments_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, installments_.get(i)); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + obj; + + if (!getInstallmentsList().equals(other.getInstallmentsList())) 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(); + if (getInstallmentsCount() > 0) { + hash = (37 * hash) + INSTALLMENTS_FIELD_NUMBER; + hash = (53 * hash) + getInstallmentsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Price configurations for offers with custom intervals.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (installmentsBuilder_ == null) { + installments_ = java.util.Collections.emptyList(); + } else { + installments_ = null; + installmentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + result) { + if (installmentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + installments_ = java.util.Collections.unmodifiableList(installments_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.installments_ = installments_; + } else { + result.installments_ = installmentsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance()) return this; + if (installmentsBuilder_ == null) { + if (!other.installments_.isEmpty()) { + if (installments_.isEmpty()) { + installments_ = other.installments_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureInstallmentsIsMutable(); + installments_.addAll(other.installments_); + } + onChanged(); + } + } else { + if (!other.installments_.isEmpty()) { + if (installmentsBuilder_.isEmpty()) { + installmentsBuilder_.dispose(); + installmentsBuilder_ = null; + installments_ = other.installments_; + bitField0_ = (bitField0_ & ~0x00000001); + installmentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetInstallmentsFieldBuilder() + : null; + } else { + installmentsBuilder_.addAllMessages(other.installments_); + } + } + } + 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: + { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.Installment.parser(), + extensionRegistry); + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + installments_.add(m); + } else { + installmentsBuilder_.addMessage(m); + } + break; + } // case 10 + 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.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment> + installments_ = java.util.Collections.emptyList(); + + private void ensureInstallmentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + installments_ = + new java.util.ArrayList< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment>(installments_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + installmentsBuilder_; + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment> + getInstallmentsList() { + if (installmentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(installments_); + } else { + return installmentsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public int getInstallmentsCount() { + if (installmentsBuilder_ == null) { + return installments_.size(); + } else { + return installmentsBuilder_.getCount(); + } + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getInstallments(int index) { + if (installmentsBuilder_ == null) { + return installments_.get(index); + } else { + return installmentsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setInstallments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (installmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInstallmentsIsMutable(); + installments_.set(index, value); + onChanged(); + } else { + installmentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setInstallments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + installments_.set(index, builderForValue.build()); + onChanged(); + } else { + installmentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInstallments( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (installmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInstallmentsIsMutable(); + installments_.add(value); + onChanged(); + } else { + installmentsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInstallments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (installmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInstallmentsIsMutable(); + installments_.add(index, value); + onChanged(); + } else { + installmentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInstallments( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + installments_.add(builderForValue.build()); + onChanged(); + } else { + installmentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInstallments( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + installments_.add(index, builderForValue.build()); + onChanged(); + } else { + installmentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addAllInstallments( + java.lang.Iterable< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment> + values) { + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, installments_); + onChanged(); + } else { + installmentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearInstallments() { + if (installmentsBuilder_ == null) { + installments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + installmentsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeInstallments(int index) { + if (installmentsBuilder_ == null) { + ensureInstallmentsIsMutable(); + installments_.remove(index); + onChanged(); + } else { + installmentsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + getInstallmentsBuilder(int index) { + return internalGetInstallmentsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder + getInstallmentsOrBuilder(int index) { + if (installmentsBuilder_ == null) { + return installments_.get(index); + } else { + return installmentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getInstallmentsOrBuilderList() { + if (installmentsBuilder_ != null) { + return installmentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(installments_); + } + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + addInstallmentsBuilder() { + return internalGetInstallmentsFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.getDefaultInstance()); + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + addInstallmentsBuilder(int index) { + return internalGetInstallmentsFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.getDefaultInstance()); + } + + /** + * + * + *
+         * Optional. The installments that make up the installment timeline.
+         * All installments must have the same form of price model (e.g.
+         * all commitment, or all flat fee). A subscription must be present
+         * under the price model for every installment.
+         *
+         * Must contain at least one installment to publish the offer.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment installments = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder> + getInstallmentsBuilderList() { + return internalGetInstallmentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + internalGetInstallmentsFieldBuilder() { + if (installmentsBuilder_ == null) { + installmentsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder>( + installments_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + installments_ = null; + } + return installmentsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CustomIntervalPrice 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ContractValueOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the totalContractValue field is set. + */ + boolean hasTotalContractValue(); + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The totalContractValue. + */ + com.google.type.Money getTotalContractValue(); + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.MoneyOrBuilder getTotalContractValueOrBuilder(); + } + + /** + * + * + *
+     * The contract value of the offer.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue} + */ + public static final class ContractValue extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue) + ContractValueOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ContractValue"); + } + + // Use ContractValue.newBuilder() to construct. + private ContractValue(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ContractValue() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.Builder.class); + } + + private int bitField0_; + public static final int TOTAL_CONTRACT_VALUE_FIELD_NUMBER = 1; + private com.google.type.Money totalContractValue_; + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the totalContractValue field is set. + */ + @java.lang.Override + public boolean hasTotalContractValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The totalContractValue. + */ + @java.lang.Override + public com.google.type.Money getTotalContractValue() { + return totalContractValue_ == null + ? com.google.type.Money.getDefaultInstance() + : totalContractValue_; + } + + /** + * + * + *
+       * Output only. The total contract value of the offer.
+       * This will be set for all non-draft private offers, as long as
+       * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+       * this will be populated only when the end user's billing account is
+       * set and when the pricing and term configuration is sufficiently
+       * complete to allow for a calculation.
+       * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getTotalContractValueOrBuilder() { + return totalContractValue_ == null + ? com.google.type.Money.getDefaultInstance() + : totalContractValue_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getTotalContractValue()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTotalContractValue()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue) + obj; + + if (hasTotalContractValue() != other.hasTotalContractValue()) return false; + if (hasTotalContractValue()) { + if (!getTotalContractValue().equals(other.getTotalContractValue())) 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(); + if (hasTotalContractValue()) { + hash = (37 * hash) + TOTAL_CONTRACT_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getTotalContractValue().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * The contract value of the offer.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetTotalContractValueFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + totalContractValue_ = null; + if (totalContractValueBuilder_ != null) { + totalContractValueBuilder_.dispose(); + totalContractValueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.totalContractValue_ = + totalContractValueBuilder_ == null + ? totalContractValue_ + : totalContractValueBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.getDefaultInstance()) return this; + if (other.hasTotalContractValue()) { + mergeTotalContractValue(other.getTotalContractValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetTotalContractValueFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 com.google.type.Money totalContractValue_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + totalContractValueBuilder_; + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the totalContractValue field is set. + */ + public boolean hasTotalContractValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The totalContractValue. + */ + public com.google.type.Money getTotalContractValue() { + if (totalContractValueBuilder_ == null) { + return totalContractValue_ == null + ? com.google.type.Money.getDefaultInstance() + : totalContractValue_; + } else { + return totalContractValueBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTotalContractValue(com.google.type.Money value) { + if (totalContractValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + totalContractValue_ = value; + } else { + totalContractValueBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTotalContractValue(com.google.type.Money.Builder builderForValue) { + if (totalContractValueBuilder_ == null) { + totalContractValue_ = builderForValue.build(); + } else { + totalContractValueBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeTotalContractValue(com.google.type.Money value) { + if (totalContractValueBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && totalContractValue_ != null + && totalContractValue_ != com.google.type.Money.getDefaultInstance()) { + getTotalContractValueBuilder().mergeFrom(value); + } else { + totalContractValue_ = value; + } + } else { + totalContractValueBuilder_.mergeFrom(value); + } + if (totalContractValue_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearTotalContractValue() { + bitField0_ = (bitField0_ & ~0x00000001); + totalContractValue_ = null; + if (totalContractValueBuilder_ != null) { + totalContractValueBuilder_.dispose(); + totalContractValueBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Money.Builder getTotalContractValueBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetTotalContractValueFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.MoneyOrBuilder getTotalContractValueOrBuilder() { + if (totalContractValueBuilder_ != null) { + return totalContractValueBuilder_.getMessageOrBuilder(); + } else { + return totalContractValue_ == null + ? com.google.type.Money.getDefaultInstance() + : totalContractValue_; + } + } + + /** + * + * + *
+         * Output only. The total contract value of the offer.
+         * This will be set for all non-draft private offers, as long as
+         * 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers,
+         * this will be populated only when the end user's billing account is
+         * set and when the pricing and term configuration is sufficiently
+         * complete to allow for a calculation.
+         * 
+ * + * + * .google.type.Money total_contract_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetTotalContractValueFieldBuilder() { + if (totalContractValueBuilder_ == null) { + totalContractValueBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + getTotalContractValue(), getParentForChildren(), isClean()); + totalContractValue_ = null; + } + return totalContractValueBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ContractValue 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface RevenueShareOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the currentTermVendorNetRevenuePercent field is set. + */ + boolean hasCurrentTermVendorNetRevenuePercent(); + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The currentTermVendorNetRevenuePercent. + */ + com.google.type.Decimal getCurrentTermVendorNetRevenuePercent(); + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.DecimalOrBuilder getCurrentTermVendorNetRevenuePercentOrBuilder(); + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the renewalTermVendorNetRevenuePercent field is set. + */ + boolean hasRenewalTermVendorNetRevenuePercent(); + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The renewalTermVendorNetRevenuePercent. + */ + com.google.type.Decimal getRenewalTermVendorNetRevenuePercent(); + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.DecimalOrBuilder getRenewalTermVendorNetRevenuePercentOrBuilder(); + } + + /** + * + * + *
+     * Revenue Share information for a Private Offer.
+     * For more details about the revenue share, including how the value is
+     * determined, see
+     * https://docs.cloud.google.com/marketplace/docs/partners/revenue-share-scenarios.
+     *
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`, or for DRAFT private offers.
+     *
+     * For non-draft private offers, these fields are populated based on the
+     * following:
+     *
+     * * Offers published after April 20, 2025 will always have revenue
+     * share fields populated.
+     * * Offers published on or before April 20, 2025 will only have revenue
+     * share fields populated if they were associated with an active,
+     * unexpired order on that date.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare} + */ + public static final class RevenueShare extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare) + RevenueShareOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "RevenueShare"); + } + + // Use RevenueShare.newBuilder() to construct. + private RevenueShare(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private RevenueShare() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.Builder.class); + } + + private int bitField0_; + public static final int CURRENT_TERM_VENDOR_NET_REVENUE_PERCENT_FIELD_NUMBER = 1; + private com.google.type.Decimal currentTermVendorNetRevenuePercent_; + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the currentTermVendorNetRevenuePercent field is set. + */ + @java.lang.Override + public boolean hasCurrentTermVendorNetRevenuePercent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The currentTermVendorNetRevenuePercent. + */ + @java.lang.Override + public com.google.type.Decimal getCurrentTermVendorNetRevenuePercent() { + return currentTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : currentTermVendorNetRevenuePercent_; + } + + /** + * + * + *
+       * Output only. The revenue share currently in effect.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue.
+       * .
+       * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getCurrentTermVendorNetRevenuePercentOrBuilder() { + return currentTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : currentTermVendorNetRevenuePercent_; + } + + public static final int RENEWAL_TERM_VENDOR_NET_REVENUE_PERCENT_FIELD_NUMBER = 2; + private com.google.type.Decimal renewalTermVendorNetRevenuePercent_; + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the renewalTermVendorNetRevenuePercent field is set. + */ + @java.lang.Override + public boolean hasRenewalTermVendorNetRevenuePercent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The renewalTermVendorNetRevenuePercent. + */ + @java.lang.Override + public com.google.type.Decimal getRenewalTermVendorNetRevenuePercent() { + return renewalTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : renewalTermVendorNetRevenuePercent_; + } + + /** + * + * + *
+       * Output only. The expected revenue share for the renewal term.
+       * Not included if the offer does not have renewal terms.
+       *
+       * The range of the value is between 0 and 100. For example, 80
+       * means the Vendor's current term revenue share is 80%. The vendor
+       * will keep 80% of the revenue after renewal.
+       * .
+       * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getRenewalTermVendorNetRevenuePercentOrBuilder() { + return renewalTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : renewalTermVendorNetRevenuePercent_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCurrentTermVendorNetRevenuePercent()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getRenewalTermVendorNetRevenuePercent()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, getCurrentTermVendorNetRevenuePercent()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, getRenewalTermVendorNetRevenuePercent()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare) + obj; + + if (hasCurrentTermVendorNetRevenuePercent() + != other.hasCurrentTermVendorNetRevenuePercent()) return false; + if (hasCurrentTermVendorNetRevenuePercent()) { + if (!getCurrentTermVendorNetRevenuePercent() + .equals(other.getCurrentTermVendorNetRevenuePercent())) return false; + } + if (hasRenewalTermVendorNetRevenuePercent() + != other.hasRenewalTermVendorNetRevenuePercent()) return false; + if (hasRenewalTermVendorNetRevenuePercent()) { + if (!getRenewalTermVendorNetRevenuePercent() + .equals(other.getRenewalTermVendorNetRevenuePercent())) 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(); + if (hasCurrentTermVendorNetRevenuePercent()) { + hash = (37 * hash) + CURRENT_TERM_VENDOR_NET_REVENUE_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getCurrentTermVendorNetRevenuePercent().hashCode(); + } + if (hasRenewalTermVendorNetRevenuePercent()) { + hash = (37 * hash) + RENEWAL_TERM_VENDOR_NET_REVENUE_PERCENT_FIELD_NUMBER; + hash = (53 * hash) + getRenewalTermVendorNetRevenuePercent().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Revenue Share information for a Private Offer.
+       * For more details about the revenue share, including how the value is
+       * determined, see
+       * https://docs.cloud.google.com/marketplace/docs/partners/revenue-share-scenarios.
+       *
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`, or for DRAFT private offers.
+       *
+       * For non-draft private offers, these fields are populated based on the
+       * following:
+       *
+       * * Offers published after April 20, 2025 will always have revenue
+       * share fields populated.
+       * * Offers published on or before April 20, 2025 will only have revenue
+       * share fields populated if they were associated with an active,
+       * unexpired order on that date.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCurrentTermVendorNetRevenuePercentFieldBuilder(); + internalGetRenewalTermVendorNetRevenuePercentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + currentTermVendorNetRevenuePercent_ = null; + if (currentTermVendorNetRevenuePercentBuilder_ != null) { + currentTermVendorNetRevenuePercentBuilder_.dispose(); + currentTermVendorNetRevenuePercentBuilder_ = null; + } + renewalTermVendorNetRevenuePercent_ = null; + if (renewalTermVendorNetRevenuePercentBuilder_ != null) { + renewalTermVendorNetRevenuePercentBuilder_.dispose(); + renewalTermVendorNetRevenuePercentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.currentTermVendorNetRevenuePercent_ = + currentTermVendorNetRevenuePercentBuilder_ == null + ? currentTermVendorNetRevenuePercent_ + : currentTermVendorNetRevenuePercentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.renewalTermVendorNetRevenuePercent_ = + renewalTermVendorNetRevenuePercentBuilder_ == null + ? renewalTermVendorNetRevenuePercent_ + : renewalTermVendorNetRevenuePercentBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.getDefaultInstance()) return this; + if (other.hasCurrentTermVendorNetRevenuePercent()) { + mergeCurrentTermVendorNetRevenuePercent(other.getCurrentTermVendorNetRevenuePercent()); + } + if (other.hasRenewalTermVendorNetRevenuePercent()) { + mergeRenewalTermVendorNetRevenuePercent(other.getRenewalTermVendorNetRevenuePercent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetCurrentTermVendorNetRevenuePercentFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetRenewalTermVendorNetRevenuePercentFieldBuilder().getBuilder(), + extensionRegistry); + 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 com.google.type.Decimal currentTermVendorNetRevenuePercent_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + currentTermVendorNetRevenuePercentBuilder_; + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the currentTermVendorNetRevenuePercent field is set. + */ + public boolean hasCurrentTermVendorNetRevenuePercent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The currentTermVendorNetRevenuePercent. + */ + public com.google.type.Decimal getCurrentTermVendorNetRevenuePercent() { + if (currentTermVendorNetRevenuePercentBuilder_ == null) { + return currentTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : currentTermVendorNetRevenuePercent_; + } else { + return currentTermVendorNetRevenuePercentBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCurrentTermVendorNetRevenuePercent(com.google.type.Decimal value) { + if (currentTermVendorNetRevenuePercentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + currentTermVendorNetRevenuePercent_ = value; + } else { + currentTermVendorNetRevenuePercentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCurrentTermVendorNetRevenuePercent( + com.google.type.Decimal.Builder builderForValue) { + if (currentTermVendorNetRevenuePercentBuilder_ == null) { + currentTermVendorNetRevenuePercent_ = builderForValue.build(); + } else { + currentTermVendorNetRevenuePercentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCurrentTermVendorNetRevenuePercent(com.google.type.Decimal value) { + if (currentTermVendorNetRevenuePercentBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && currentTermVendorNetRevenuePercent_ != null + && currentTermVendorNetRevenuePercent_ + != com.google.type.Decimal.getDefaultInstance()) { + getCurrentTermVendorNetRevenuePercentBuilder().mergeFrom(value); + } else { + currentTermVendorNetRevenuePercent_ = value; + } + } else { + currentTermVendorNetRevenuePercentBuilder_.mergeFrom(value); + } + if (currentTermVendorNetRevenuePercent_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCurrentTermVendorNetRevenuePercent() { + bitField0_ = (bitField0_ & ~0x00000001); + currentTermVendorNetRevenuePercent_ = null; + if (currentTermVendorNetRevenuePercentBuilder_ != null) { + currentTermVendorNetRevenuePercentBuilder_.dispose(); + currentTermVendorNetRevenuePercentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Decimal.Builder getCurrentTermVendorNetRevenuePercentBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetCurrentTermVendorNetRevenuePercentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.DecimalOrBuilder getCurrentTermVendorNetRevenuePercentOrBuilder() { + if (currentTermVendorNetRevenuePercentBuilder_ != null) { + return currentTermVendorNetRevenuePercentBuilder_.getMessageOrBuilder(); + } else { + return currentTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : currentTermVendorNetRevenuePercent_; + } + } + + /** + * + * + *
+         * Output only. The revenue share currently in effect.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue.
+         * .
+         * 
+ * + * + * .google.type.Decimal current_term_vendor_net_revenue_percent = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetCurrentTermVendorNetRevenuePercentFieldBuilder() { + if (currentTermVendorNetRevenuePercentBuilder_ == null) { + currentTermVendorNetRevenuePercentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getCurrentTermVendorNetRevenuePercent(), getParentForChildren(), isClean()); + currentTermVendorNetRevenuePercent_ = null; + } + return currentTermVendorNetRevenuePercentBuilder_; + } + + private com.google.type.Decimal renewalTermVendorNetRevenuePercent_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + renewalTermVendorNetRevenuePercentBuilder_; + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the renewalTermVendorNetRevenuePercent field is set. + */ + public boolean hasRenewalTermVendorNetRevenuePercent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The renewalTermVendorNetRevenuePercent. + */ + public com.google.type.Decimal getRenewalTermVendorNetRevenuePercent() { + if (renewalTermVendorNetRevenuePercentBuilder_ == null) { + return renewalTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : renewalTermVendorNetRevenuePercent_; + } else { + return renewalTermVendorNetRevenuePercentBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setRenewalTermVendorNetRevenuePercent(com.google.type.Decimal value) { + if (renewalTermVendorNetRevenuePercentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + renewalTermVendorNetRevenuePercent_ = value; + } else { + renewalTermVendorNetRevenuePercentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setRenewalTermVendorNetRevenuePercent( + com.google.type.Decimal.Builder builderForValue) { + if (renewalTermVendorNetRevenuePercentBuilder_ == null) { + renewalTermVendorNetRevenuePercent_ = builderForValue.build(); + } else { + renewalTermVendorNetRevenuePercentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeRenewalTermVendorNetRevenuePercent(com.google.type.Decimal value) { + if (renewalTermVendorNetRevenuePercentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && renewalTermVendorNetRevenuePercent_ != null + && renewalTermVendorNetRevenuePercent_ + != com.google.type.Decimal.getDefaultInstance()) { + getRenewalTermVendorNetRevenuePercentBuilder().mergeFrom(value); + } else { + renewalTermVendorNetRevenuePercent_ = value; + } + } else { + renewalTermVendorNetRevenuePercentBuilder_.mergeFrom(value); + } + if (renewalTermVendorNetRevenuePercent_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearRenewalTermVendorNetRevenuePercent() { + bitField0_ = (bitField0_ & ~0x00000002); + renewalTermVendorNetRevenuePercent_ = null; + if (renewalTermVendorNetRevenuePercentBuilder_ != null) { + renewalTermVendorNetRevenuePercentBuilder_.dispose(); + renewalTermVendorNetRevenuePercentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Decimal.Builder getRenewalTermVendorNetRevenuePercentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetRenewalTermVendorNetRevenuePercentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.DecimalOrBuilder getRenewalTermVendorNetRevenuePercentOrBuilder() { + if (renewalTermVendorNetRevenuePercentBuilder_ != null) { + return renewalTermVendorNetRevenuePercentBuilder_.getMessageOrBuilder(); + } else { + return renewalTermVendorNetRevenuePercent_ == null + ? com.google.type.Decimal.getDefaultInstance() + : renewalTermVendorNetRevenuePercent_; + } + } + + /** + * + * + *
+         * Output only. The expected revenue share for the renewal term.
+         * Not included if the offer does not have renewal terms.
+         *
+         * The range of the value is between 0 and 100. For example, 80
+         * means the Vendor's current term revenue share is 80%. The vendor
+         * will keep 80% of the revenue after renewal.
+         * .
+         * 
+ * + * + * .google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetRenewalTermVendorNetRevenuePercentFieldBuilder() { + if (renewalTermVendorNetRevenuePercentBuilder_ == null) { + renewalTermVendorNetRevenuePercentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getRenewalTermVendorNetRevenuePercent(), getParentForChildren(), isClean()); + renewalTermVendorNetRevenuePercent_ = null; + } + return renewalTermVendorNetRevenuePercentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public RevenueShare 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int amendedOfferCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object amendedOffer_; + + public enum AmendedOfferCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + AMENDED_PRIVATE_OFFER(3), + AMENDED_STANDARD_OFFER(4), + AMENDEDOFFER_NOT_SET(0); + private final int value; + + private AmendedOfferCase(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 AmendedOfferCase valueOf(int value) { + return forNumber(value); + } + + public static AmendedOfferCase forNumber(int value) { + switch (value) { + case 3: + return AMENDED_PRIVATE_OFFER; + case 4: + return AMENDED_STANDARD_OFFER; + case 0: + return AMENDEDOFFER_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public AmendedOfferCase getAmendedOfferCase() { + return AmendedOfferCase.forNumber(amendedOfferCase_); + } + + private int priceCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object price_; + + public enum PriceCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + STANDARD_INTERVAL_PRICE(5), + CUSTOM_INTERVAL_PRICE(6), + PRICE_NOT_SET(0); + private final int value; + + private PriceCase(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 PriceCase valueOf(int value) { + return forNumber(value); + } + + public static PriceCase forNumber(int value) { + switch (value) { + case 5: + return STANDARD_INTERVAL_PRICE; + case 6: + return CUSTOM_INTERVAL_PRICE; + case 0: + return PRICE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceCase getPriceCase() { + return PriceCase.forNumber(priceCase_); + } + + public static final int AMENDED_PRIVATE_OFFER_FIELD_NUMBER = 3; + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedPrivateOffer field is set. + */ + public boolean hasAmendedPrivateOffer() { + return amendedOfferCase_ == 3; + } + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedPrivateOffer. + */ + public java.lang.String getAmendedPrivateOffer() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 3) { + ref = amendedOffer_; + } + 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(); + if (amendedOfferCase_ == 3) { + amendedOffer_ = s; + } + return s; + } + } + + /** + * + * + *
+     * Optional. An existing private offer that will be superseded by this
+     * offer. Unless the private offer is for a product type that supports
+     * [multiple active
+     * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+     * an amendment private offer must be transacted if and only if the
+     * destination customer billing account already contains an active order
+     * for the same product. The offer to be superseded must be the offer
+     * associated with an active order.
+     *
+     * Amendments generally fall into one of two scenarios:
+     *
+     * 1. **Active Order / Ended Offer**: The term of the amended offer has
+     * ended but it is still associated with an active order. The new
+     * offer must amend the ended private offer.
+     * 2. **Active Order / Active Offer**: The term of the amended offer is
+     * still active and the associated order is active. Similar to above,
+     * the new offer must amend the currently active offer (unless
+     * "multiple active orders" are supported).
+     *
+     * If this is set, then the `base_standard_offer` parent service must
+     * match the parent service of the `base_standard_offer` in the
+     * `amended_private_offer`.
+     *
+     * **Active Term Restrictions**:
+     * If the term of the amended private offer has *NOT* ended, then the
+     * following compatibility rules apply:
+     *
+     * * **Price Model Compatibility**:
+     * * Flat Fee (with or without usage) offers can amend Flat Fee
+     * offers.
+     * * Usage-only or CUD offers can amend usage-only offers.
+     * * Commitment-based offers must amend offers of the same price
+     * model subtype (e.g., "additional usage at list price" vs "all
+     * usage discounted").
+     * * **Billing Frequency Compatibility**: Determined by
+     * `standard_interval` or `custom_interval_price`.
+     * * If the amended offer has a custom billing frequency, the new
+     * offer must also have a custom frequency.
+     * * If the amended offer has a standard frequency (Monthly,
+     * Quarterly, or Yearly), the new offer must maintain the same
+     * frequency or transition to a custom frequency.
+     * * Switching between different standard frequencies (e.g., Monthly
+     * to Quarterly) is not supported.
+     * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+     * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+     * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+     * * For usage-only offers, there are no billing frequency
+     * restrictions.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedPrivateOffer. + */ + public com.google.protobuf.ByteString getAmendedPrivateOfferBytes() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 3) { + ref = amendedOffer_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (amendedOfferCase_ == 3) { + amendedOffer_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int AMENDED_STANDARD_OFFER_FIELD_NUMBER = 4; + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedStandardOffer field is set. + */ + public boolean hasAmendedStandardOffer() { + return amendedOfferCase_ == 4; + } + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedStandardOffer. + */ + public java.lang.String getAmendedStandardOffer() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 4) { + ref = amendedOffer_; + } + 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(); + if (amendedOfferCase_ == 4) { + amendedOffer_ = s; + } + return s; + } + } + + /** + * + * + *
+     * Optional. An existing standard offer that will be superseded by this
+     * offer. An amendment private offer must be transacted if the destination
+     * customer billing account already contains an active order for the same
+     * product, and otherwise cannot be transacted. The offer to be superseded
+     * must be the offer associated with the active order.
+     *
+     * If this is set, then the `base_standard_offer` must contain the same
+     * parent service as the parent service of the `amended_standard_offer`.
+     * The price model of this offer must be compatible with the price model
+     * of the `amended_standard_offer`:
+     *
+     * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+     * Fee with usage standard offers.
+     * * Usage-only offers, or CUD offers can amend usage-only standard
+     * offers.
+     *
+     * Other criteria for offer amendment are detailed elsewhere.
+     * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedStandardOffer. + */ + public com.google.protobuf.ByteString getAmendedStandardOfferBytes() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 4) { + ref = amendedOffer_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (amendedOfferCase_ == 4) { + amendedOffer_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STANDARD_INTERVAL_PRICE_FIELD_NUMBER = 5; + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the standardIntervalPrice field is set. + */ + @java.lang.Override + public boolean hasStandardIntervalPrice() { + return priceCase_ == 5; + } + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardIntervalPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + getStandardIntervalPrice() { + if (priceCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + + /** + * + * + *
+     * Optional. Price configurations for offers with standard intervals.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder + getStandardIntervalPriceOrBuilder() { + if (priceCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + + public static final int CUSTOM_INTERVAL_PRICE_FIELD_NUMBER = 6; + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customIntervalPrice field is set. + */ + @java.lang.Override + public boolean hasCustomIntervalPrice() { + return priceCase_ == 6; + } + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customIntervalPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + getCustomIntervalPrice() { + if (priceCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + + /** + * + * + *
+     * Optional. Price configurations for offers with custom intervals.
+     * Custom interval corresponds to "custom billing frequency",
+     * see
+     * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+     * A price must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder + getCustomIntervalPriceOrBuilder() { + if (priceCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + + public static final int BASE_STANDARD_OFFER_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object baseStandardOffer_ = ""; + + /** + * + * + *
+     * Optional. The StandardOffer this PrivateOffer is based on.
+     * Must be in the same project as the private offer, and must be effective
+     * at the time of publishing. Must be present to publish the offer.
+     *
+     * Format:
+     * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+     * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The baseStandardOffer. + */ + @java.lang.Override + public java.lang.String getBaseStandardOffer() { + java.lang.Object ref = baseStandardOffer_; + 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(); + baseStandardOffer_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. The StandardOffer this PrivateOffer is based on.
+     * Must be in the same project as the private offer, and must be effective
+     * at the time of publishing. Must be present to publish the offer.
+     *
+     * Format:
+     * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+     * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for baseStandardOffer. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBaseStandardOfferBytes() { + java.lang.Object ref = baseStandardOffer_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + baseStandardOffer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVICE_LEVEL_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceLevel_ = ""; + + /** + * + * + *
+     * Output only. The service level (also known as the 'plan') of the base
+     * standard offer. The value is populated at publish time from the base
+     * standard offer.
+     * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + @java.lang.Override + public java.lang.String getServiceLevel() { + java.lang.Object ref = serviceLevel_; + 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(); + serviceLevel_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. The service level (also known as the 'plan') of the base
+     * standard offer. The value is populated at publish time from the base
+     * standard offer.
+     * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceLevelBytes() { + java.lang.Object ref = serviceLevel_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevel_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RESELLER_PRIVATE_OFFER_PLAN_ID_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object resellerPrivateOfferPlanId_ = ""; + + /** + * + * + *
+     * Output only. Present for offers created by a reseller from a reseller
+     * private offer plan (RPOP). When set, contains the ID of the originating
+     * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerPrivateOfferPlanId. + */ + @java.lang.Override + public java.lang.String getResellerPrivateOfferPlanId() { + java.lang.Object ref = resellerPrivateOfferPlanId_; + 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(); + resellerPrivateOfferPlanId_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. Present for offers created by a reseller from a reseller
+     * private offer plan (RPOP). When set, contains the ID of the originating
+     * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for resellerPrivateOfferPlanId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getResellerPrivateOfferPlanIdBytes() { + java.lang.Object ref = resellerPrivateOfferPlanId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + resellerPrivateOfferPlanId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FEATURES_FIELD_NUMBER = 8; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature> + features_; + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature> + getFeaturesList() { + return features_; + } + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder> + getFeaturesOrBuilderList() { + return features_; + } + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public int getFeaturesCount() { + return features_.size(); + } + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + getFeatures(int index) { + return features_.get(index); + } + + /** + * + * + *
+     * Optional. The custom product features to display for this offer.
+     * Feature `display_name` values must be unique to publish the offer.
+     * The set of features specified here should generally include all features
+     * included in the base service level, with optionally customized values,
+     * but is not required to match exactly and may include additional features.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.FeatureOrBuilder + getFeaturesOrBuilder(int index) { + return features_.get(index); + } + + public static final int EFFECTIVE_INSTALLMENT_TIMELINE_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + effectiveInstallmentTimeline_; + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + getEffectiveInstallmentTimelineList() { + return effectiveInstallmentTimeline_; + } + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getEffectiveInstallmentTimelineOrBuilderList() { + return effectiveInstallmentTimeline_; + } + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getEffectiveInstallmentTimelineCount() { + return effectiveInstallmentTimeline_.size(); + } + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getEffectiveInstallmentTimeline(int index) { + return effectiveInstallmentTimeline_.get(index); + } + + /** + * + * + *
+     * Output only. The effective installment timeline of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+     * available to generate the timeline, and if the offer has
+     * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+     * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder + getEffectiveInstallmentTimelineOrBuilder(int index) { + return effectiveInstallmentTimeline_.get(index); + } + + public static final int CONTRACT_VALUE_FIELD_NUMBER = 11; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + contractValue_; + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the contractValue field is set. + */ + @java.lang.Override + public boolean hasContractValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The contractValue. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + getContractValue() { + return contractValue_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .getDefaultInstance() + : contractValue_; + } + + /** + * + * + *
+     * Output only. Contract value of the offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder + getContractValueOrBuilder() { + return contractValue_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .getDefaultInstance() + : contractValue_; + } + + public static final int REVENUE_SHARE_FIELD_NUMBER = 12; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + revenueShare_; + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the revenueShare field is set. + */ + @java.lang.Override + public boolean hasRevenueShare() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The revenueShare. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + getRevenueShare() { + return revenueShare_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .getDefaultInstance() + : revenueShare_; + } + + /** + * + * + *
+     * Output only. Revenue share information for this Private Offer.
+     * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder + getRevenueShareOrBuilder() { + return revenueShare_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .getDefaultInstance() + : revenueShare_; + } + + 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.GeneratedMessage.isStringEmpty(baseStandardOffer_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, baseStandardOffer_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevel_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, serviceLevel_); + } + if (amendedOfferCase_ == 3) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, amendedOffer_); + } + if (amendedOfferCase_ == 4) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, amendedOffer_); + } + if (priceCase_ == 5) { + output.writeMessage( + 5, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_); + } + if (priceCase_ == 6) { + output.writeMessage( + 6, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_); + } + for (int i = 0; i < effectiveInstallmentTimeline_.size(); i++) { + output.writeMessage(7, effectiveInstallmentTimeline_.get(i)); + } + for (int i = 0; i < features_.size(); i++) { + output.writeMessage(8, features_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(resellerPrivateOfferPlanId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 10, resellerPrivateOfferPlanId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(11, getContractValue()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(12, getRevenueShare()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(baseStandardOffer_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, baseStandardOffer_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevel_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, serviceLevel_); + } + if (amendedOfferCase_ == 3) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, amendedOffer_); + } + if (amendedOfferCase_ == 4) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, amendedOffer_); + } + if (priceCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_); + } + if (priceCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_); + } + for (int i = 0; i < effectiveInstallmentTimeline_.size(); i++) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 7, effectiveInstallmentTimeline_.get(i)); + } + for (int i = 0; i < features_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, features_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(resellerPrivateOfferPlanId_)) { + size += + com.google.protobuf.GeneratedMessage.computeStringSize(10, resellerPrivateOfferPlanId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getContractValue()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getRevenueShare()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) obj; + + if (!getBaseStandardOffer().equals(other.getBaseStandardOffer())) return false; + if (!getServiceLevel().equals(other.getServiceLevel())) return false; + if (!getResellerPrivateOfferPlanId().equals(other.getResellerPrivateOfferPlanId())) + return false; + if (!getFeaturesList().equals(other.getFeaturesList())) return false; + if (!getEffectiveInstallmentTimelineList() + .equals(other.getEffectiveInstallmentTimelineList())) return false; + if (hasContractValue() != other.hasContractValue()) return false; + if (hasContractValue()) { + if (!getContractValue().equals(other.getContractValue())) return false; + } + if (hasRevenueShare() != other.hasRevenueShare()) return false; + if (hasRevenueShare()) { + if (!getRevenueShare().equals(other.getRevenueShare())) return false; + } + if (!getAmendedOfferCase().equals(other.getAmendedOfferCase())) return false; + switch (amendedOfferCase_) { + case 3: + if (!getAmendedPrivateOffer().equals(other.getAmendedPrivateOffer())) return false; + break; + case 4: + if (!getAmendedStandardOffer().equals(other.getAmendedStandardOffer())) return false; + break; + case 0: + default: + } + if (!getPriceCase().equals(other.getPriceCase())) return false; + switch (priceCase_) { + case 5: + if (!getStandardIntervalPrice().equals(other.getStandardIntervalPrice())) return false; + break; + case 6: + if (!getCustomIntervalPrice().equals(other.getCustomIntervalPrice())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + BASE_STANDARD_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getBaseStandardOffer().hashCode(); + hash = (37 * hash) + SERVICE_LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getServiceLevel().hashCode(); + hash = (37 * hash) + RESELLER_PRIVATE_OFFER_PLAN_ID_FIELD_NUMBER; + hash = (53 * hash) + getResellerPrivateOfferPlanId().hashCode(); + if (getFeaturesCount() > 0) { + hash = (37 * hash) + FEATURES_FIELD_NUMBER; + hash = (53 * hash) + getFeaturesList().hashCode(); + } + if (getEffectiveInstallmentTimelineCount() > 0) { + hash = (37 * hash) + EFFECTIVE_INSTALLMENT_TIMELINE_FIELD_NUMBER; + hash = (53 * hash) + getEffectiveInstallmentTimelineList().hashCode(); + } + if (hasContractValue()) { + hash = (37 * hash) + CONTRACT_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getContractValue().hashCode(); + } + if (hasRevenueShare()) { + hash = (37 * hash) + REVENUE_SHARE_FIELD_NUMBER; + hash = (53 * hash) + getRevenueShare().hashCode(); + } + switch (amendedOfferCase_) { + case 3: + hash = (37 * hash) + AMENDED_PRIVATE_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getAmendedPrivateOffer().hashCode(); + break; + case 4: + hash = (37 * hash) + AMENDED_STANDARD_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getAmendedStandardOffer().hashCode(); + break; + case 0: + default: + } + switch (priceCase_) { + case 5: + hash = (37 * hash) + STANDARD_INTERVAL_PRICE_FIELD_NUMBER; + hash = (53 * hash) + getStandardIntervalPrice().hashCode(); + break; + case 6: + hash = (37 * hash) + CUSTOM_INTERVAL_PRICE_FIELD_NUMBER; + hash = (53 * hash) + getCustomIntervalPrice().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Configurations for the offer that is associated with a single product.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetFeaturesFieldBuilder(); + internalGetEffectiveInstallmentTimelineFieldBuilder(); + internalGetContractValueFieldBuilder(); + internalGetRevenueShareFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (standardIntervalPriceBuilder_ != null) { + standardIntervalPriceBuilder_.clear(); + } + if (customIntervalPriceBuilder_ != null) { + customIntervalPriceBuilder_.clear(); + } + baseStandardOffer_ = ""; + serviceLevel_ = ""; + resellerPrivateOfferPlanId_ = ""; + if (featuresBuilder_ == null) { + features_ = java.util.Collections.emptyList(); + } else { + features_ = null; + featuresBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + if (effectiveInstallmentTimelineBuilder_ == null) { + effectiveInstallmentTimeline_ = java.util.Collections.emptyList(); + } else { + effectiveInstallmentTimeline_ = null; + effectiveInstallmentTimelineBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000100); + contractValue_ = null; + if (contractValueBuilder_ != null) { + contractValueBuilder_.dispose(); + contractValueBuilder_ = null; + } + revenueShare_ = null; + if (revenueShareBuilder_ != null) { + revenueShareBuilder_.dispose(); + revenueShareBuilder_ = null; + } + amendedOfferCase_ = 0; + amendedOffer_ = null; + priceCase_ = 0; + price_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer result) { + if (featuresBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0)) { + features_ = java.util.Collections.unmodifiableList(features_); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.features_ = features_; + } else { + result.features_ = featuresBuilder_.build(); + } + if (effectiveInstallmentTimelineBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0)) { + effectiveInstallmentTimeline_ = + java.util.Collections.unmodifiableList(effectiveInstallmentTimeline_); + bitField0_ = (bitField0_ & ~0x00000100); + } + result.effectiveInstallmentTimeline_ = effectiveInstallmentTimeline_; + } else { + result.effectiveInstallmentTimeline_ = effectiveInstallmentTimelineBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.baseStandardOffer_ = baseStandardOffer_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.serviceLevel_ = serviceLevel_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.resellerPrivateOfferPlanId_ = resellerPrivateOfferPlanId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000200) != 0)) { + result.contractValue_ = + contractValueBuilder_ == null ? contractValue_ : contractValueBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.revenueShare_ = + revenueShareBuilder_ == null ? revenueShare_ : revenueShareBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer result) { + result.amendedOfferCase_ = amendedOfferCase_; + result.amendedOffer_ = this.amendedOffer_; + result.priceCase_ = priceCase_; + result.price_ = this.price_; + if (priceCase_ == 5 && standardIntervalPriceBuilder_ != null) { + result.price_ = standardIntervalPriceBuilder_.build(); + } + if (priceCase_ == 6 && customIntervalPriceBuilder_ != null) { + result.price_ = customIntervalPriceBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance()) return this; + if (!other.getBaseStandardOffer().isEmpty()) { + baseStandardOffer_ = other.baseStandardOffer_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.getServiceLevel().isEmpty()) { + serviceLevel_ = other.serviceLevel_; + bitField0_ |= 0x00000020; + onChanged(); + } + if (!other.getResellerPrivateOfferPlanId().isEmpty()) { + resellerPrivateOfferPlanId_ = other.resellerPrivateOfferPlanId_; + bitField0_ |= 0x00000040; + onChanged(); + } + if (featuresBuilder_ == null) { + if (!other.features_.isEmpty()) { + if (features_.isEmpty()) { + features_ = other.features_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureFeaturesIsMutable(); + features_.addAll(other.features_); + } + onChanged(); + } + } else { + if (!other.features_.isEmpty()) { + if (featuresBuilder_.isEmpty()) { + featuresBuilder_.dispose(); + featuresBuilder_ = null; + features_ = other.features_; + bitField0_ = (bitField0_ & ~0x00000080); + featuresBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetFeaturesFieldBuilder() + : null; + } else { + featuresBuilder_.addAllMessages(other.features_); + } + } + } + if (effectiveInstallmentTimelineBuilder_ == null) { + if (!other.effectiveInstallmentTimeline_.isEmpty()) { + if (effectiveInstallmentTimeline_.isEmpty()) { + effectiveInstallmentTimeline_ = other.effectiveInstallmentTimeline_; + bitField0_ = (bitField0_ & ~0x00000100); + } else { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.addAll(other.effectiveInstallmentTimeline_); + } + onChanged(); + } + } else { + if (!other.effectiveInstallmentTimeline_.isEmpty()) { + if (effectiveInstallmentTimelineBuilder_.isEmpty()) { + effectiveInstallmentTimelineBuilder_.dispose(); + effectiveInstallmentTimelineBuilder_ = null; + effectiveInstallmentTimeline_ = other.effectiveInstallmentTimeline_; + bitField0_ = (bitField0_ & ~0x00000100); + effectiveInstallmentTimelineBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetEffectiveInstallmentTimelineFieldBuilder() + : null; + } else { + effectiveInstallmentTimelineBuilder_.addAllMessages( + other.effectiveInstallmentTimeline_); + } + } + } + if (other.hasContractValue()) { + mergeContractValue(other.getContractValue()); + } + if (other.hasRevenueShare()) { + mergeRevenueShare(other.getRevenueShare()); + } + switch (other.getAmendedOfferCase()) { + case AMENDED_PRIVATE_OFFER: + { + amendedOfferCase_ = 3; + amendedOffer_ = other.amendedOffer_; + onChanged(); + break; + } + case AMENDED_STANDARD_OFFER: + { + amendedOfferCase_ = 4; + amendedOffer_ = other.amendedOffer_; + onChanged(); + break; + } + case AMENDEDOFFER_NOT_SET: + { + break; + } + } + switch (other.getPriceCase()) { + case STANDARD_INTERVAL_PRICE: + { + mergeStandardIntervalPrice(other.getStandardIntervalPrice()); + break; + } + case CUSTOM_INTERVAL_PRICE: + { + mergeCustomIntervalPrice(other.getCustomIntervalPrice()); + break; + } + case PRICE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + baseStandardOffer_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 10 + case 18: + { + serviceLevel_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 18 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + amendedOfferCase_ = 3; + amendedOffer_ = s; + break; + } // case 26 + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + amendedOfferCase_ = 4; + amendedOffer_ = s; + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetStandardIntervalPriceFieldBuilder().getBuilder(), + extensionRegistry); + priceCase_ = 5; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetCustomIntervalPriceFieldBuilder().getBuilder(), extensionRegistry); + priceCase_ = 6; + break; + } // case 50 + case 58: + { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment + m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.Installment.parser(), + extensionRegistry); + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.add(m); + } else { + effectiveInstallmentTimelineBuilder_.addMessage(m); + } + break; + } // case 58 + case 66: + { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .SingleProductOffer.Feature.parser(), + extensionRegistry); + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + features_.add(m); + } else { + featuresBuilder_.addMessage(m); + } + break; + } // case 66 + case 82: + { + resellerPrivateOfferPlanId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 82 + case 90: + { + input.readMessage( + internalGetContractValueFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000200; + break; + } // case 90 + case 98: + { + input.readMessage( + internalGetRevenueShareFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000400; + break; + } // case 98 + 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 amendedOfferCase_ = 0; + private java.lang.Object amendedOffer_; + + public AmendedOfferCase getAmendedOfferCase() { + return AmendedOfferCase.forNumber(amendedOfferCase_); + } + + public Builder clearAmendedOffer() { + amendedOfferCase_ = 0; + amendedOffer_ = null; + onChanged(); + return this; + } + + private int priceCase_ = 0; + private java.lang.Object price_; + + public PriceCase getPriceCase() { + return PriceCase.forNumber(priceCase_); + } + + public Builder clearPrice() { + priceCase_ = 0; + price_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedPrivateOffer field is set. + */ + @java.lang.Override + public boolean hasAmendedPrivateOffer() { + return amendedOfferCase_ == 3; + } + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedPrivateOffer. + */ + @java.lang.Override + public java.lang.String getAmendedPrivateOffer() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 3) { + ref = amendedOffer_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (amendedOfferCase_ == 3) { + amendedOffer_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedPrivateOffer. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAmendedPrivateOfferBytes() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 3) { + ref = amendedOffer_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (amendedOfferCase_ == 3) { + amendedOffer_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The amendedPrivateOffer to set. + * @return This builder for chaining. + */ + public Builder setAmendedPrivateOffer(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + amendedOfferCase_ = 3; + amendedOffer_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearAmendedPrivateOffer() { + if (amendedOfferCase_ == 3) { + amendedOfferCase_ = 0; + amendedOffer_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. An existing private offer that will be superseded by this
+       * offer. Unless the private offer is for a product type that supports
+       * [multiple active
+       * orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers),
+       * an amendment private offer must be transacted if and only if the
+       * destination customer billing account already contains an active order
+       * for the same product. The offer to be superseded must be the offer
+       * associated with an active order.
+       *
+       * Amendments generally fall into one of two scenarios:
+       *
+       * 1. **Active Order / Ended Offer**: The term of the amended offer has
+       * ended but it is still associated with an active order. The new
+       * offer must amend the ended private offer.
+       * 2. **Active Order / Active Offer**: The term of the amended offer is
+       * still active and the associated order is active. Similar to above,
+       * the new offer must amend the currently active offer (unless
+       * "multiple active orders" are supported).
+       *
+       * If this is set, then the `base_standard_offer` parent service must
+       * match the parent service of the `base_standard_offer` in the
+       * `amended_private_offer`.
+       *
+       * **Active Term Restrictions**:
+       * If the term of the amended private offer has *NOT* ended, then the
+       * following compatibility rules apply:
+       *
+       * * **Price Model Compatibility**:
+       * * Flat Fee (with or without usage) offers can amend Flat Fee
+       * offers.
+       * * Usage-only or CUD offers can amend usage-only offers.
+       * * Commitment-based offers must amend offers of the same price
+       * model subtype (e.g., "additional usage at list price" vs "all
+       * usage discounted").
+       * * **Billing Frequency Compatibility**: Determined by
+       * `standard_interval` or `custom_interval_price`.
+       * * If the amended offer has a custom billing frequency, the new
+       * offer must also have a custom frequency.
+       * * If the amended offer has a standard frequency (Monthly,
+       * Quarterly, or Yearly), the new offer must maintain the same
+       * frequency or transition to a custom frequency.
+       * * Switching between different standard frequencies (e.g., Monthly
+       * to Quarterly) is not supported.
+       * * For Monthly frequency, switching between `MONTHLY_PRORATED`
+       * and `MONTHLY_NOT_PRORATED` is supported, unless the offer's
+       * `term.end_policy` is `MATCH_AMENDED_OFFER`.
+       * * For usage-only offers, there are no billing frequency
+       * restrictions.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_private_offer = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for amendedPrivateOffer to set. + * @return This builder for chaining. + */ + public Builder setAmendedPrivateOfferBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + amendedOfferCase_ = 3; + amendedOffer_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return Whether the amendedStandardOffer field is set. + */ + @java.lang.Override + public boolean hasAmendedStandardOffer() { + return amendedOfferCase_ == 4; + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The amendedStandardOffer. + */ + @java.lang.Override + public java.lang.String getAmendedStandardOffer() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 4) { + ref = amendedOffer_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (amendedOfferCase_ == 4) { + amendedOffer_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for amendedStandardOffer. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAmendedStandardOfferBytes() { + java.lang.Object ref = ""; + if (amendedOfferCase_ == 4) { + ref = amendedOffer_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (amendedOfferCase_ == 4) { + amendedOffer_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The amendedStandardOffer to set. + * @return This builder for chaining. + */ + public Builder setAmendedStandardOffer(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + amendedOfferCase_ = 4; + amendedOffer_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearAmendedStandardOffer() { + if (amendedOfferCase_ == 4) { + amendedOfferCase_ = 0; + amendedOffer_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. An existing standard offer that will be superseded by this
+       * offer. An amendment private offer must be transacted if the destination
+       * customer billing account already contains an active order for the same
+       * product, and otherwise cannot be transacted. The offer to be superseded
+       * must be the offer associated with the active order.
+       *
+       * If this is set, then the `base_standard_offer` must contain the same
+       * parent service as the parent service of the `amended_standard_offer`.
+       * The price model of this offer must be compatible with the price model
+       * of the `amended_standard_offer`:
+       *
+       * * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat
+       * Fee with usage standard offers.
+       * * Usage-only offers, or CUD offers can amend usage-only standard
+       * offers.
+       *
+       * Other criteria for offer amendment are detailed elsewhere.
+       * 
+ * + * + * string amended_standard_offer = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for amendedStandardOffer to set. + * @return This builder for chaining. + */ + public Builder setAmendedStandardOfferBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + amendedOfferCase_ = 4; + amendedOffer_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder> + standardIntervalPriceBuilder_; + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the standardIntervalPrice field is set. + */ + @java.lang.Override + public boolean hasStandardIntervalPrice() { + return priceCase_ == 5; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The standardIntervalPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + getStandardIntervalPrice() { + if (standardIntervalPriceBuilder_ == null) { + if (priceCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } else { + if (priceCase_ == 5) { + return standardIntervalPriceBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setStandardIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + value) { + if (standardIntervalPriceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + price_ = value; + onChanged(); + } else { + standardIntervalPriceBuilder_.setMessage(value); + } + priceCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setStandardIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder + builderForValue) { + if (standardIntervalPriceBuilder_ == null) { + price_ = builderForValue.build(); + onChanged(); + } else { + standardIntervalPriceBuilder_.setMessage(builderForValue.build()); + } + priceCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeStandardIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice + value) { + if (standardIntervalPriceBuilder_ == null) { + if (priceCase_ == 5 + && price_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance()) { + price_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.newBuilder( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_) + .mergeFrom(value) + .buildPartial(); + } else { + price_ = value; + } + onChanged(); + } else { + if (priceCase_ == 5) { + standardIntervalPriceBuilder_.mergeFrom(value); + } else { + standardIntervalPriceBuilder_.setMessage(value); + } + } + priceCase_ = 5; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearStandardIntervalPrice() { + if (standardIntervalPriceBuilder_ == null) { + if (priceCase_ == 5) { + priceCase_ = 0; + price_ = null; + onChanged(); + } + } else { + if (priceCase_ == 5) { + priceCase_ = 0; + price_ = null; + } + standardIntervalPriceBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder + getStandardIntervalPriceBuilder() { + return internalGetStandardIntervalPriceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder + getStandardIntervalPriceOrBuilder() { + if ((priceCase_ == 5) && (standardIntervalPriceBuilder_ != null)) { + return standardIntervalPriceBuilder_.getMessageOrBuilder(); + } else { + if (priceCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Price configurations for offers with standard intervals.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.StandardIntervalPrice standard_interval_price = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder> + internalGetStandardIntervalPriceFieldBuilder() { + if (standardIntervalPriceBuilder_ == null) { + if (!(priceCase_ == 5)) { + price_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.getDefaultInstance(); + } + standardIntervalPriceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPriceOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .StandardIntervalPrice) + price_, + getParentForChildren(), + isClean()); + price_ = null; + } + priceCase_ = 5; + onChanged(); + return standardIntervalPriceBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder> + customIntervalPriceBuilder_; + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customIntervalPrice field is set. + */ + @java.lang.Override + public boolean hasCustomIntervalPrice() { + return priceCase_ == 6; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customIntervalPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + getCustomIntervalPrice() { + if (customIntervalPriceBuilder_ == null) { + if (priceCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } else { + if (priceCase_ == 6) { + return customIntervalPriceBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCustomIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + value) { + if (customIntervalPriceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + price_ = value; + onChanged(); + } else { + customIntervalPriceBuilder_.setMessage(value); + } + priceCase_ = 6; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCustomIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder + builderForValue) { + if (customIntervalPriceBuilder_ == null) { + price_ = builderForValue.build(); + onChanged(); + } else { + customIntervalPriceBuilder_.setMessage(builderForValue.build()); + } + priceCase_ = 6; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeCustomIntervalPrice( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice + value) { + if (customIntervalPriceBuilder_ == null) { + if (priceCase_ == 6 + && price_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance()) { + price_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.newBuilder( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_) + .mergeFrom(value) + .buildPartial(); + } else { + price_ = value; + } + onChanged(); + } else { + if (priceCase_ == 6) { + customIntervalPriceBuilder_.mergeFrom(value); + } else { + customIntervalPriceBuilder_.setMessage(value); + } + } + priceCase_ = 6; + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearCustomIntervalPrice() { + if (customIntervalPriceBuilder_ == null) { + if (priceCase_ == 6) { + priceCase_ = 0; + price_ = null; + onChanged(); + } + } else { + if (priceCase_ == 6) { + priceCase_ = 0; + price_ = null; + } + customIntervalPriceBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder + getCustomIntervalPriceBuilder() { + return internalGetCustomIntervalPriceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder + getCustomIntervalPriceOrBuilder() { + if ((priceCase_ == 6) && (customIntervalPriceBuilder_ != null)) { + return customIntervalPriceBuilder_.getMessageOrBuilder(); + } else { + if (priceCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Optional. Price configurations for offers with custom intervals.
+       * Custom interval corresponds to "custom billing frequency",
+       * see
+       * https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
+       * A price must be set when publishing the offer.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPrice custom_interval_price = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder> + internalGetCustomIntervalPriceFieldBuilder() { + if (customIntervalPriceBuilder_ == null) { + if (!(priceCase_ == 6)) { + price_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.getDefaultInstance(); + } + customIntervalPriceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPriceOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .CustomIntervalPrice) + price_, + getParentForChildren(), + isClean()); + price_ = null; + } + priceCase_ = 6; + onChanged(); + return customIntervalPriceBuilder_; + } + + private java.lang.Object baseStandardOffer_ = ""; + + /** + * + * + *
+       * Optional. The StandardOffer this PrivateOffer is based on.
+       * Must be in the same project as the private offer, and must be effective
+       * at the time of publishing. Must be present to publish the offer.
+       *
+       * Format:
+       * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+       * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The baseStandardOffer. + */ + public java.lang.String getBaseStandardOffer() { + java.lang.Object ref = baseStandardOffer_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + baseStandardOffer_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. The StandardOffer this PrivateOffer is based on.
+       * Must be in the same project as the private offer, and must be effective
+       * at the time of publishing. Must be present to publish the offer.
+       *
+       * Format:
+       * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+       * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for baseStandardOffer. + */ + public com.google.protobuf.ByteString getBaseStandardOfferBytes() { + java.lang.Object ref = baseStandardOffer_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + baseStandardOffer_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. The StandardOffer this PrivateOffer is based on.
+       * Must be in the same project as the private offer, and must be effective
+       * at the time of publishing. Must be present to publish the offer.
+       *
+       * Format:
+       * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+       * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The baseStandardOffer to set. + * @return This builder for chaining. + */ + public Builder setBaseStandardOffer(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + baseStandardOffer_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The StandardOffer this PrivateOffer is based on.
+       * Must be in the same project as the private offer, and must be effective
+       * at the time of publishing. Must be present to publish the offer.
+       *
+       * Format:
+       * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+       * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearBaseStandardOffer() { + baseStandardOffer_ = getDefaultInstance().getBaseStandardOffer(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The StandardOffer this PrivateOffer is based on.
+       * Must be in the same project as the private offer, and must be effective
+       * at the time of publishing. Must be present to publish the offer.
+       *
+       * Format:
+       * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
+       * 
+ * + * + * string base_standard_offer = 1 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for baseStandardOffer to set. + * @return This builder for chaining. + */ + public Builder setBaseStandardOfferBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + baseStandardOffer_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private java.lang.Object serviceLevel_ = ""; + + /** + * + * + *
+       * Output only. The service level (also known as the 'plan') of the base
+       * standard offer. The value is populated at publish time from the base
+       * standard offer.
+       * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + public java.lang.String getServiceLevel() { + java.lang.Object ref = serviceLevel_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceLevel_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. The service level (also known as the 'plan') of the base
+       * standard offer. The value is populated at publish time from the base
+       * standard offer.
+       * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + public com.google.protobuf.ByteString getServiceLevelBytes() { + java.lang.Object ref = serviceLevel_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevel_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. The service level (also known as the 'plan') of the base
+       * standard offer. The value is populated at publish time from the base
+       * standard offer.
+       * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The serviceLevel to set. + * @return This builder for chaining. + */ + public Builder setServiceLevel(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceLevel_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The service level (also known as the 'plan') of the base
+       * standard offer. The value is populated at publish time from the base
+       * standard offer.
+       * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearServiceLevel() { + serviceLevel_ = getDefaultInstance().getServiceLevel(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The service level (also known as the 'plan') of the base
+       * standard offer. The value is populated at publish time from the base
+       * standard offer.
+       * 
+ * + * string service_level = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for serviceLevel to set. + * @return This builder for chaining. + */ + public Builder setServiceLevelBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceLevel_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + private java.lang.Object resellerPrivateOfferPlanId_ = ""; + + /** + * + * + *
+       * Output only. Present for offers created by a reseller from a reseller
+       * private offer plan (RPOP). When set, contains the ID of the originating
+       * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerPrivateOfferPlanId. + */ + public java.lang.String getResellerPrivateOfferPlanId() { + java.lang.Object ref = resellerPrivateOfferPlanId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + resellerPrivateOfferPlanId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. Present for offers created by a reseller from a reseller
+       * private offer plan (RPOP). When set, contains the ID of the originating
+       * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for resellerPrivateOfferPlanId. + */ + public com.google.protobuf.ByteString getResellerPrivateOfferPlanIdBytes() { + java.lang.Object ref = resellerPrivateOfferPlanId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + resellerPrivateOfferPlanId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. Present for offers created by a reseller from a reseller
+       * private offer plan (RPOP). When set, contains the ID of the originating
+       * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The resellerPrivateOfferPlanId to set. + * @return This builder for chaining. + */ + public Builder setResellerPrivateOfferPlanId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + resellerPrivateOfferPlanId_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Present for offers created by a reseller from a reseller
+       * private offer plan (RPOP). When set, contains the ID of the originating
+       * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearResellerPrivateOfferPlanId() { + resellerPrivateOfferPlanId_ = getDefaultInstance().getResellerPrivateOfferPlanId(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Present for offers created by a reseller from a reseller
+       * private offer plan (RPOP). When set, contains the ID of the originating
+       * RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * string reseller_private_offer_plan_id = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for resellerPrivateOfferPlanId to set. + * @return This builder for chaining. + */ + public Builder setResellerPrivateOfferPlanIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + resellerPrivateOfferPlanId_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature> + features_ = java.util.Collections.emptyList(); + + private void ensureFeaturesIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + features_ = + new java.util.ArrayList< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature>( + features_); + bitField0_ |= 0x00000080; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder> + featuresBuilder_; + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature> + getFeaturesList() { + if (featuresBuilder_ == null) { + return java.util.Collections.unmodifiableList(features_); + } else { + return featuresBuilder_.getMessageList(); + } + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public int getFeaturesCount() { + if (featuresBuilder_ == null) { + return features_.size(); + } else { + return featuresBuilder_.getCount(); + } + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + getFeatures(int index) { + if (featuresBuilder_ == null) { + return features_.get(index); + } else { + return featuresBuilder_.getMessage(index); + } + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFeatures( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature value) { + if (featuresBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFeaturesIsMutable(); + features_.set(index, value); + onChanged(); + } else { + featuresBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setFeatures( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature.Builder + builderForValue) { + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + features_.set(index, builderForValue.build()); + onChanged(); + } else { + featuresBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addFeatures( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature value) { + if (featuresBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFeaturesIsMutable(); + features_.add(value); + onChanged(); + } else { + featuresBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addFeatures( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature value) { + if (featuresBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFeaturesIsMutable(); + features_.add(index, value); + onChanged(); + } else { + featuresBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addFeatures( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature.Builder + builderForValue) { + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + features_.add(builderForValue.build()); + onChanged(); + } else { + featuresBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addFeatures( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature.Builder + builderForValue) { + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + features_.add(index, builderForValue.build()); + onChanged(); + } else { + featuresBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addAllFeatures( + java.lang.Iterable< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Feature> + values) { + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, features_); + onChanged(); + } else { + featuresBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearFeatures() { + if (featuresBuilder_ == null) { + features_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + } else { + featuresBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeFeatures(int index) { + if (featuresBuilder_ == null) { + ensureFeaturesIsMutable(); + features_.remove(index); + onChanged(); + } else { + featuresBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder + getFeaturesBuilder(int index) { + return internalGetFeaturesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder + getFeaturesOrBuilder(int index) { + if (featuresBuilder_ == null) { + return features_.get(index); + } else { + return featuresBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder> + getFeaturesOrBuilderList() { + if (featuresBuilder_ != null) { + return featuresBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(features_); + } + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder + addFeaturesBuilder() { + return internalGetFeaturesFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .getDefaultInstance()); + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder + addFeaturesBuilder(int index) { + return internalGetFeaturesFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .getDefaultInstance()); + } + + /** + * + * + *
+       * Optional. The custom product features to display for this offer.
+       * Feature `display_name` values must be unique to publish the offer.
+       * The set of features specified here should generally include all features
+       * included in the base service level, with optionally customized values,
+       * but is not required to match exactly and may include additional features.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature features = 8 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder> + getFeaturesBuilderList() { + return internalGetFeaturesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder> + internalGetFeaturesFieldBuilder() { + if (featuresBuilder_ == null) { + featuresBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Feature + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .FeatureOrBuilder>( + features_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean()); + features_ = null; + } + return featuresBuilder_; + } + + private java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + effectiveInstallmentTimeline_ = java.util.Collections.emptyList(); + + private void ensureEffectiveInstallmentTimelineIsMutable() { + if (!((bitField0_ & 0x00000100) != 0)) { + effectiveInstallmentTimeline_ = + new java.util.ArrayList< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment>(effectiveInstallmentTimeline_); + bitField0_ |= 0x00000100; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + effectiveInstallmentTimelineBuilder_; + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment> + getEffectiveInstallmentTimelineList() { + if (effectiveInstallmentTimelineBuilder_ == null) { + return java.util.Collections.unmodifiableList(effectiveInstallmentTimeline_); + } else { + return effectiveInstallmentTimelineBuilder_.getMessageList(); + } + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getEffectiveInstallmentTimelineCount() { + if (effectiveInstallmentTimelineBuilder_ == null) { + return effectiveInstallmentTimeline_.size(); + } else { + return effectiveInstallmentTimelineBuilder_.getCount(); + } + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + getEffectiveInstallmentTimeline(int index) { + if (effectiveInstallmentTimelineBuilder_ == null) { + return effectiveInstallmentTimeline_.get(index); + } else { + return effectiveInstallmentTimelineBuilder_.getMessage(index); + } + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveInstallmentTimeline( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (effectiveInstallmentTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.set(index, value); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveInstallmentTimeline( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.set(index, builderForValue.build()); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addEffectiveInstallmentTimeline( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (effectiveInstallmentTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.add(value); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addEffectiveInstallmentTimeline( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + value) { + if (effectiveInstallmentTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.add(index, value); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addEffectiveInstallmentTimeline( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.add(builderForValue.build()); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addEffectiveInstallmentTimeline( + int index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + builderForValue) { + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.add(index, builderForValue.build()); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllEffectiveInstallmentTimeline( + java.lang.Iterable< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment> + values) { + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, effectiveInstallmentTimeline_); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEffectiveInstallmentTimeline() { + if (effectiveInstallmentTimelineBuilder_ == null) { + effectiveInstallmentTimeline_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeEffectiveInstallmentTimeline(int index) { + if (effectiveInstallmentTimelineBuilder_ == null) { + ensureEffectiveInstallmentTimelineIsMutable(); + effectiveInstallmentTimeline_.remove(index); + onChanged(); + } else { + effectiveInstallmentTimelineBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + getEffectiveInstallmentTimelineBuilder(int index) { + return internalGetEffectiveInstallmentTimelineFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder + getEffectiveInstallmentTimelineOrBuilder(int index) { + if (effectiveInstallmentTimelineBuilder_ == null) { + return effectiveInstallmentTimeline_.get(index); + } else { + return effectiveInstallmentTimelineBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + getEffectiveInstallmentTimelineOrBuilderList() { + if (effectiveInstallmentTimelineBuilder_ != null) { + return effectiveInstallmentTimelineBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(effectiveInstallmentTimeline_); + } + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + addEffectiveInstallmentTimelineBuilder() { + return internalGetEffectiveInstallmentTimelineFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .getDefaultInstance()); + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder + addEffectiveInstallmentTimelineBuilder(int index) { + return internalGetEffectiveInstallmentTimelineFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .getDefaultInstance()); + } + + /** + * + * + *
+       * Output only. The effective installment timeline of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is
+       * available to generate the timeline, and if the offer has
+       * 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED',
+       * 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment effective_installment_timeline = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder> + getEffectiveInstallmentTimelineBuilderList() { + return internalGetEffectiveInstallmentTimelineFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Installment + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder> + internalGetEffectiveInstallmentTimelineFieldBuilder() { + if (effectiveInstallmentTimelineBuilder_ == null) { + effectiveInstallmentTimelineBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .Installment.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .InstallmentOrBuilder>( + effectiveInstallmentTimeline_, + ((bitField0_ & 0x00000100) != 0), + getParentForChildren(), + isClean()); + effectiveInstallmentTimeline_ = null; + } + return effectiveInstallmentTimelineBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + contractValue_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder> + contractValueBuilder_; + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the contractValue field is set. + */ + public boolean hasContractValue() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The contractValue. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + getContractValue() { + if (contractValueBuilder_ == null) { + return contractValue_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.getDefaultInstance() + : contractValue_; + } else { + return contractValueBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setContractValue( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + value) { + if (contractValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + contractValue_ = value; + } else { + contractValueBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setContractValue( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .Builder + builderForValue) { + if (contractValueBuilder_ == null) { + contractValue_ = builderForValue.build(); + } else { + contractValueBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeContractValue( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + value) { + if (contractValueBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0) + && contractValue_ != null + && contractValue_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.getDefaultInstance()) { + getContractValueBuilder().mergeFrom(value); + } else { + contractValue_ = value; + } + } else { + contractValueBuilder_.mergeFrom(value); + } + if (contractValue_ != null) { + bitField0_ |= 0x00000200; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearContractValue() { + bitField0_ = (bitField0_ & ~0x00000200); + contractValue_ = null; + if (contractValueBuilder_ != null) { + contractValueBuilder_.dispose(); + contractValueBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .Builder + getContractValueBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return internalGetContractValueFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder + getContractValueOrBuilder() { + if (contractValueBuilder_ != null) { + return contractValueBuilder_.getMessageOrBuilder(); + } else { + return contractValue_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.getDefaultInstance() + : contractValue_; + } + } + + /** + * + * + *
+       * Output only. Contract value of the offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue contract_value = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.ContractValue + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder> + internalGetContractValueFieldBuilder() { + if (contractValueBuilder_ == null) { + contractValueBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValue.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .ContractValueOrBuilder>( + getContractValue(), getParentForChildren(), isClean()); + contractValue_ = null; + } + return contractValueBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + revenueShare_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder> + revenueShareBuilder_; + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the revenueShare field is set. + */ + public boolean hasRevenueShare() { + return ((bitField0_ & 0x00000400) != 0); + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The revenueShare. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + getRevenueShare() { + if (revenueShareBuilder_ == null) { + return revenueShare_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.getDefaultInstance() + : revenueShare_; + } else { + return revenueShareBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setRevenueShare( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + value) { + if (revenueShareBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + revenueShare_ = value; + } else { + revenueShareBuilder_.setMessage(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setRevenueShare( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .Builder + builderForValue) { + if (revenueShareBuilder_ == null) { + revenueShare_ = builderForValue.build(); + } else { + revenueShareBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeRevenueShare( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + value) { + if (revenueShareBuilder_ == null) { + if (((bitField0_ & 0x00000400) != 0) + && revenueShare_ != null + && revenueShare_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.getDefaultInstance()) { + getRevenueShareBuilder().mergeFrom(value); + } else { + revenueShare_ = value; + } + } else { + revenueShareBuilder_.mergeFrom(value); + } + if (revenueShare_ != null) { + bitField0_ |= 0x00000400; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearRevenueShare() { + bitField0_ = (bitField0_ & ~0x00000400); + revenueShare_ = null; + if (revenueShareBuilder_ != null) { + revenueShareBuilder_.dispose(); + revenueShareBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .Builder + getRevenueShareBuilder() { + bitField0_ |= 0x00000400; + onChanged(); + return internalGetRevenueShareFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder + getRevenueShareOrBuilder() { + if (revenueShareBuilder_ != null) { + return revenueShareBuilder_.getMessageOrBuilder(); + } else { + return revenueShare_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.getDefaultInstance() + : revenueShare_; + } + } + + /** + * + * + *
+       * Output only. Revenue share information for this Private Offer.
+       * Not included for `PRIVATE_OFFER_VIEW_BASIC`.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare revenue_share = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.RevenueShare + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder> + internalGetRevenueShareFieldBuilder() { + if (revenueShareBuilder_ == null) { + revenueShareBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShare.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .RevenueShareOrBuilder>(getRevenueShare(), getParentForChildren(), isClean()); + revenueShare_ = null; + } + return revenueShareBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SingleProductOffer 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.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int contentCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object content_; + + public enum ContentCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + SINGLE_PRODUCT_OFFER(12), + CONTENT_NOT_SET(0); + private final int value; + + private ContentCase(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 ContentCase valueOf(int value) { + return forNumber(value); + } + + public static ContentCase forNumber(int value) { + switch (value) { + case 12: + return SINGLE_PRODUCT_OFFER; + case 0: + return CONTENT_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public ContentCase getContentCase() { + return ContentCase.forNumber(contentCase_); + } + + public static final int SINGLE_PRODUCT_OFFER_FIELD_NUMBER = 12; + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the singleProductOffer field is set. + */ + @java.lang.Override + public boolean hasSingleProductOffer() { + return contentCase_ == 12; + } + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The singleProductOffer. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + getSingleProductOffer() { + if (contentCase_ == 12) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) content_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder + getSingleProductOfferOrBuilder() { + if (contentCase_ == 12) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) content_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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 STATE_FIELD_NUMBER = 3; + private int state_ = 0; + + /** + * + * + *
+   * Output only. The state of the private offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+   * Output only. The state of the private offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.State getState() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.State result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.forNumber(state_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.UNRECOGNIZED + : result; + } + + public static final int PUBLISH_REQUIREMENT_GOOGLE_REVIEW_FIELD_NUMBER = 4; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + publishRequirementGoogleReview_; + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishRequirementGoogleReview field is set. + */ + @java.lang.Override + public boolean hasPublishRequirementGoogleReview() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishRequirementGoogleReview. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + getPublishRequirementGoogleReview() { + return publishRequirementGoogleReview_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance() + : publishRequirementGoogleReview_; + } + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder + getPublishRequirementGoogleReviewOrBuilder() { + return publishRequirementGoogleReview_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance() + : publishRequirementGoogleReview_; + } + + public static final int CREATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int PUBLISH_TIME_FIELD_NUMBER = 8; + private com.google.protobuf.Timestamp publishTime_; + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishTime field is set. + */ + @java.lang.Override + public boolean hasPublishTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getPublishTime() { + return publishTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : publishTime_; + } + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder() { + return publishTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : publishTime_; + } + + public static final int ACCEPT_TIME_FIELD_NUMBER = 9; + private com.google.protobuf.Timestamp acceptTime_; + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the acceptTime field is set. + */ + @java.lang.Override + public boolean hasAcceptTime() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The acceptTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getAcceptTime() { + return acceptTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : acceptTime_; + } + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getAcceptTimeOrBuilder() { + return acceptTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : acceptTime_; + } + + public static final int CANCEL_TIME_FIELD_NUMBER = 10; + private com.google.protobuf.Timestamp cancelTime_; + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cancelTime field is set. + */ + @java.lang.Override + public boolean hasCancelTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cancelTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCancelTime() { + return cancelTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : cancelTime_; + } + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + return cancelTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : cancelTime_; + } + + public static final int END_TIME_FIELD_NUMBER = 22; + private com.google.protobuf.Timestamp endTime_; + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + @java.lang.Override + public boolean hasEndTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEndTime() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + public static final int CANCELLATION_NOTE_FIELD_NUMBER = 11; + + @SuppressWarnings("serial") + private volatile java.lang.Object cancellationNote_ = ""; + + /** + * + * + *
+   * Output only. Internal note supplied when the offer was cancelled.
+   * Present only for cancelled offers and only if a note was supplied.
+   * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The cancellationNote. + */ + @java.lang.Override + public java.lang.String getCancellationNote() { + java.lang.Object ref = cancellationNote_; + 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(); + cancellationNote_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Internal note supplied when the offer was cancelled.
+   * Present only for cancelled offers and only if a note was supplied.
+   * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for cancellationNote. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCancellationNoteBytes() { + java.lang.Object ref = cancellationNote_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + cancellationNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int RESELLER_CONTACT_FIELD_NUMBER = 20; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact resellerContact_; + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the resellerContact field is set. + */ + @java.lang.Override + public boolean hasResellerContact() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerContact. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + getResellerContact() { + return resellerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.getDefaultInstance() + : resellerContact_; + } + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder + getResellerContactOrBuilder() { + return resellerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.getDefaultInstance() + : resellerContact_; + } + + public static final int INTERNAL_NOTE_FIELD_NUMBER = 16; + + @SuppressWarnings("serial") + private volatile java.lang.Object internalNote_ = ""; + + /** + * + * + *
+   * Optional. Unstructured text content that is not visible to the customer.
+   * Intended to be used by partners for storing notes about the private offer.
+   * Maximum length: 1500 characters.
+   * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The internalNote. + */ + @java.lang.Override + public java.lang.String getInternalNote() { + java.lang.Object ref = internalNote_; + 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(); + internalNote_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Unstructured text content that is not visible to the customer.
+   * Intended to be used by partners for storing notes about the private offer.
+   * Maximum length: 1500 characters.
+   * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for internalNote. + */ + @java.lang.Override + public com.google.protobuf.ByteString getInternalNoteBytes() { + java.lang.Object ref = internalNote_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + internalNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OFFER_DEAL_TYPE_FIELD_NUMBER = 21; + private int offerDealType_ = 0; + + /** + * + * + *
+   * Optional. The type of the deal transacted with the offer.
+   *
+   * The deal type is not visible to customers.
+   *
+   * Must be present to publish the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for offerDealType. + */ + @java.lang.Override + public int getOfferDealTypeValue() { + return offerDealType_; + } + + /** + * + * + *
+   * Optional. The type of the deal transacted with the offer.
+   *
+   * The deal type is not visible to customers.
+   *
+   * Must be present to publish the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The offerDealType. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType getOfferDealType() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType.forNumber( + offerDealType_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType.UNRECOGNIZED + : result; + } + + public static final int TITLE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object title_ = ""; + + /** + * + * + *
+   * Optional. A title that describes the offer and helps your customers
+   * identify it. This title will be visible to the customer. Maximum length:
+   * 256 characters. Must be present to publish the offer.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The title. + */ + @java.lang.Override + public java.lang.String getTitle() { + java.lang.Object ref = title_; + 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(); + title_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A title that describes the offer and helps your customers
+   * identify it. This title will be visible to the customer. Maximum length:
+   * 256 characters. Must be present to publish the offer.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for title. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CUSTOMER_NOTE_FIELD_NUMBER = 17; + + @SuppressWarnings("serial") + private volatile java.lang.Object customerNote_ = ""; + + /** + * + * + *
+   * Optional. Unstructured text content that is visible to the customer.
+   * Maximum length: 120 characters.
+   * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The customerNote. + */ + @java.lang.Override + public java.lang.String getCustomerNote() { + java.lang.Object ref = customerNote_; + 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(); + customerNote_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Unstructured text content that is visible to the customer.
+   * Maximum length: 120 characters.
+   * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for customerNote. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCustomerNoteBytes() { + java.lang.Object ref = customerNote_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + customerNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PARTNER_CONTACT_FIELD_NUMBER = 14; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partnerContact_; + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the partnerContact field is set. + */ + @java.lang.Override + public boolean hasPartnerContact() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The partnerContact. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact getPartnerContact() { + return partnerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.getDefaultInstance() + : partnerContact_; + } + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder + getPartnerContactOrBuilder() { + return partnerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.getDefaultInstance() + : partnerContact_; + } + + public static final int CUSTOMER_FIELD_NUMBER = 13; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer_; + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customer field is set. + */ + @java.lang.Override + public boolean hasCustomer() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customer. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer getCustomer() { + return customer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance() + : customer_; + } + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder + getCustomerOrBuilder() { + return customer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance() + : customer_; + } + + public static final int ACCEPT_DEADLINE_TIME_FIELD_NUMBER = 5; + private com.google.type.DateTime acceptDeadlineTime_; + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the acceptDeadlineTime field is set. + */ + @java.lang.Override + public boolean hasAcceptDeadlineTime() { + return ((bitField0_ & 0x00000400) != 0); + } + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The acceptDeadlineTime. + */ + @java.lang.Override + public com.google.type.DateTime getAcceptDeadlineTime() { + return acceptDeadlineTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : acceptDeadlineTime_; + } + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.type.DateTimeOrBuilder getAcceptDeadlineTimeOrBuilder() { + return acceptDeadlineTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : acceptDeadlineTime_; + } + + public static final int TERM_FIELD_NUMBER = 15; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term term_; + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the term field is set. + */ + @java.lang.Override + public boolean hasTerm() { + return ((bitField0_ & 0x00000800) != 0); + } + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The term. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term getTerm() { + return term_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance() + : term_; + } + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder getTermOrBuilder() { + return term_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance() + : term_; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, title_); + } + if (state_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.STATE_UNSPECIFIED + .getNumber()) { + output.writeEnum(3, state_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getPublishRequirementGoogleReview()); + } + if (((bitField0_ & 0x00000400) != 0)) { + output.writeMessage(5, getAcceptDeadlineTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(6, getCreateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(7, getUpdateTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(8, getPublishTime()); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeMessage(9, getAcceptTime()); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeMessage(10, getCancelTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cancellationNote_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 11, cancellationNote_); + } + if (contentCase_ == 12) { + output.writeMessage( + 12, (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) content_); + } + if (((bitField0_ & 0x00000200) != 0)) { + output.writeMessage(13, getCustomer()); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeMessage(14, getPartnerContact()); + } + if (((bitField0_ & 0x00000800) != 0)) { + output.writeMessage(15, getTerm()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(internalNote_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 16, internalNote_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customerNote_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 17, customerNote_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeMessage(20, getResellerContact()); + } + if (offerDealType_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType + .OFFER_DEAL_TYPE_UNSPECIFIED + .getNumber()) { + output.writeEnum(21, offerDealType_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeMessage(22, getEndTime()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, title_); + } + if (state_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.STATE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, state_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 4, getPublishRequirementGoogleReview()); + } + if (((bitField0_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getAcceptDeadlineTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getUpdateTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getPublishTime()); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getAcceptTime()); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getCancelTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cancellationNote_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(11, cancellationNote_); + } + if (contentCase_ == 12) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 12, + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) content_); + } + if (((bitField0_ & 0x00000200) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getCustomer()); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getPartnerContact()); + } + if (((bitField0_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, getTerm()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(internalNote_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(16, internalNote_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customerNote_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(17, customerNote_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(20, getResellerContact()); + } + if (offerDealType_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType + .OFFER_DEAL_TYPE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(21, offerDealType_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(22, getEndTime()); + } + 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.cloud.commerceproducer.v1beta.PrivateOffer)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOffer other = + (com.google.cloud.commerceproducer.v1beta.PrivateOffer) obj; + + if (!getName().equals(other.getName())) return false; + if (state_ != other.state_) return false; + if (hasPublishRequirementGoogleReview() != other.hasPublishRequirementGoogleReview()) + return false; + if (hasPublishRequirementGoogleReview()) { + if (!getPublishRequirementGoogleReview().equals(other.getPublishRequirementGoogleReview())) + return false; + } + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (hasPublishTime() != other.hasPublishTime()) return false; + if (hasPublishTime()) { + if (!getPublishTime().equals(other.getPublishTime())) return false; + } + if (hasAcceptTime() != other.hasAcceptTime()) return false; + if (hasAcceptTime()) { + if (!getAcceptTime().equals(other.getAcceptTime())) return false; + } + if (hasCancelTime() != other.hasCancelTime()) return false; + if (hasCancelTime()) { + if (!getCancelTime().equals(other.getCancelTime())) return false; + } + if (hasEndTime() != other.hasEndTime()) return false; + if (hasEndTime()) { + if (!getEndTime().equals(other.getEndTime())) return false; + } + if (!getCancellationNote().equals(other.getCancellationNote())) return false; + if (hasResellerContact() != other.hasResellerContact()) return false; + if (hasResellerContact()) { + if (!getResellerContact().equals(other.getResellerContact())) return false; + } + if (!getInternalNote().equals(other.getInternalNote())) return false; + if (offerDealType_ != other.offerDealType_) return false; + if (!getTitle().equals(other.getTitle())) return false; + if (!getCustomerNote().equals(other.getCustomerNote())) return false; + if (hasPartnerContact() != other.hasPartnerContact()) return false; + if (hasPartnerContact()) { + if (!getPartnerContact().equals(other.getPartnerContact())) return false; + } + if (hasCustomer() != other.hasCustomer()) return false; + if (hasCustomer()) { + if (!getCustomer().equals(other.getCustomer())) return false; + } + if (hasAcceptDeadlineTime() != other.hasAcceptDeadlineTime()) return false; + if (hasAcceptDeadlineTime()) { + if (!getAcceptDeadlineTime().equals(other.getAcceptDeadlineTime())) return false; + } + if (hasTerm() != other.hasTerm()) return false; + if (hasTerm()) { + if (!getTerm().equals(other.getTerm())) return false; + } + if (!getContentCase().equals(other.getContentCase())) return false; + switch (contentCase_) { + case 12: + if (!getSingleProductOffer().equals(other.getSingleProductOffer())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; + if (hasPublishRequirementGoogleReview()) { + hash = (37 * hash) + PUBLISH_REQUIREMENT_GOOGLE_REVIEW_FIELD_NUMBER; + hash = (53 * hash) + getPublishRequirementGoogleReview().hashCode(); + } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (hasPublishTime()) { + hash = (37 * hash) + PUBLISH_TIME_FIELD_NUMBER; + hash = (53 * hash) + getPublishTime().hashCode(); + } + if (hasAcceptTime()) { + hash = (37 * hash) + ACCEPT_TIME_FIELD_NUMBER; + hash = (53 * hash) + getAcceptTime().hashCode(); + } + if (hasCancelTime()) { + hash = (37 * hash) + CANCEL_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCancelTime().hashCode(); + } + if (hasEndTime()) { + hash = (37 * hash) + END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEndTime().hashCode(); + } + hash = (37 * hash) + CANCELLATION_NOTE_FIELD_NUMBER; + hash = (53 * hash) + getCancellationNote().hashCode(); + if (hasResellerContact()) { + hash = (37 * hash) + RESELLER_CONTACT_FIELD_NUMBER; + hash = (53 * hash) + getResellerContact().hashCode(); + } + hash = (37 * hash) + INTERNAL_NOTE_FIELD_NUMBER; + hash = (53 * hash) + getInternalNote().hashCode(); + hash = (37 * hash) + OFFER_DEAL_TYPE_FIELD_NUMBER; + hash = (53 * hash) + offerDealType_; + hash = (37 * hash) + TITLE_FIELD_NUMBER; + hash = (53 * hash) + getTitle().hashCode(); + hash = (37 * hash) + CUSTOMER_NOTE_FIELD_NUMBER; + hash = (53 * hash) + getCustomerNote().hashCode(); + if (hasPartnerContact()) { + hash = (37 * hash) + PARTNER_CONTACT_FIELD_NUMBER; + hash = (53 * hash) + getPartnerContact().hashCode(); + } + if (hasCustomer()) { + hash = (37 * hash) + CUSTOMER_FIELD_NUMBER; + hash = (53 * hash) + getCustomer().hashCode(); + } + if (hasAcceptDeadlineTime()) { + hash = (37 * hash) + ACCEPT_DEADLINE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getAcceptDeadlineTime().hashCode(); + } + if (hasTerm()) { + hash = (37 * hash) + TERM_FIELD_NUMBER; + hash = (53 * hash) + getTerm().hashCode(); + } + switch (contentCase_) { + case 12: + hash = (37 * hash) + SINGLE_PRODUCT_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getSingleProductOffer().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer 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.cloud.commerceproducer.v1beta.PrivateOffer parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOffer 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing PrivateOffer resource.
+   *
+   * Note on OPTIONAL fields: To facilitate saving incomplete draft offers, most
+   * fields are categorized as OPTIONAL irrespective of whether they are necessary
+   * for a private offer to be valid. Many fields labeled OPTIONAL must be set to
+   * publish the offer.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOffer} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOffer) + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.class, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.PrivateOffer.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPublishRequirementGoogleReviewFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + internalGetPublishTimeFieldBuilder(); + internalGetAcceptTimeFieldBuilder(); + internalGetCancelTimeFieldBuilder(); + internalGetEndTimeFieldBuilder(); + internalGetResellerContactFieldBuilder(); + internalGetPartnerContactFieldBuilder(); + internalGetCustomerFieldBuilder(); + internalGetAcceptDeadlineTimeFieldBuilder(); + internalGetTermFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (singleProductOfferBuilder_ != null) { + singleProductOfferBuilder_.clear(); + } + name_ = ""; + state_ = 0; + publishRequirementGoogleReview_ = null; + if (publishRequirementGoogleReviewBuilder_ != null) { + publishRequirementGoogleReviewBuilder_.dispose(); + publishRequirementGoogleReviewBuilder_ = null; + } + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + publishTime_ = null; + if (publishTimeBuilder_ != null) { + publishTimeBuilder_.dispose(); + publishTimeBuilder_ = null; + } + acceptTime_ = null; + if (acceptTimeBuilder_ != null) { + acceptTimeBuilder_.dispose(); + acceptTimeBuilder_ = null; + } + cancelTime_ = null; + if (cancelTimeBuilder_ != null) { + cancelTimeBuilder_.dispose(); + cancelTimeBuilder_ = null; + } + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + cancellationNote_ = ""; + resellerContact_ = null; + if (resellerContactBuilder_ != null) { + resellerContactBuilder_.dispose(); + resellerContactBuilder_ = null; + } + internalNote_ = ""; + offerDealType_ = 0; + title_ = ""; + customerNote_ = ""; + partnerContact_ = null; + if (partnerContactBuilder_ != null) { + partnerContactBuilder_.dispose(); + partnerContactBuilder_ = null; + } + customer_ = null; + if (customerBuilder_ != null) { + customerBuilder_.dispose(); + customerBuilder_ = null; + } + acceptDeadlineTime_ = null; + if (acceptDeadlineTimeBuilder_ != null) { + acceptDeadlineTimeBuilder_.dispose(); + acceptDeadlineTimeBuilder_ = null; + } + term_ = null; + if (termBuilder_ != null) { + termBuilder_.dispose(); + termBuilder_ = null; + } + contentCase_ = 0; + content_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer build() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer result = + new com.google.cloud.commerceproducer.v1beta.PrivateOffer(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.PrivateOffer result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.state_ = state_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.publishRequirementGoogleReview_ = + publishRequirementGoogleReviewBuilder_ == null + ? publishRequirementGoogleReview_ + : publishRequirementGoogleReviewBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.publishTime_ = + publishTimeBuilder_ == null ? publishTime_ : publishTimeBuilder_.build(); + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.acceptTime_ = acceptTimeBuilder_ == null ? acceptTime_ : acceptTimeBuilder_.build(); + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.cancelTime_ = cancelTimeBuilder_ == null ? cancelTime_ : cancelTimeBuilder_.build(); + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build(); + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.cancellationNote_ = cancellationNote_; + } + if (((from_bitField0_ & 0x00000800) != 0)) { + result.resellerContact_ = + resellerContactBuilder_ == null ? resellerContact_ : resellerContactBuilder_.build(); + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00001000) != 0)) { + result.internalNote_ = internalNote_; + } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.offerDealType_ = offerDealType_; + } + if (((from_bitField0_ & 0x00004000) != 0)) { + result.title_ = title_; + } + if (((from_bitField0_ & 0x00008000) != 0)) { + result.customerNote_ = customerNote_; + } + if (((from_bitField0_ & 0x00010000) != 0)) { + result.partnerContact_ = + partnerContactBuilder_ == null ? partnerContact_ : partnerContactBuilder_.build(); + to_bitField0_ |= 0x00000100; + } + if (((from_bitField0_ & 0x00020000) != 0)) { + result.customer_ = customerBuilder_ == null ? customer_ : customerBuilder_.build(); + to_bitField0_ |= 0x00000200; + } + if (((from_bitField0_ & 0x00040000) != 0)) { + result.acceptDeadlineTime_ = + acceptDeadlineTimeBuilder_ == null + ? acceptDeadlineTime_ + : acceptDeadlineTimeBuilder_.build(); + to_bitField0_ |= 0x00000400; + } + if (((from_bitField0_ & 0x00080000) != 0)) { + result.term_ = termBuilder_ == null ? term_ : termBuilder_.build(); + to_bitField0_ |= 0x00000800; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.commerceproducer.v1beta.PrivateOffer result) { + result.contentCase_ = contentCase_; + result.content_ = this.content_; + if (contentCase_ == 12 && singleProductOfferBuilder_ != null) { + result.content_ = singleProductOfferBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PrivateOffer) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.PrivateOffer) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.PrivateOffer other) { + if (other == com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.state_ != 0) { + setStateValue(other.getStateValue()); + } + if (other.hasPublishRequirementGoogleReview()) { + mergePublishRequirementGoogleReview(other.getPublishRequirementGoogleReview()); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + if (other.hasPublishTime()) { + mergePublishTime(other.getPublishTime()); + } + if (other.hasAcceptTime()) { + mergeAcceptTime(other.getAcceptTime()); + } + if (other.hasCancelTime()) { + mergeCancelTime(other.getCancelTime()); + } + if (other.hasEndTime()) { + mergeEndTime(other.getEndTime()); + } + if (!other.getCancellationNote().isEmpty()) { + cancellationNote_ = other.cancellationNote_; + bitField0_ |= 0x00000400; + onChanged(); + } + if (other.hasResellerContact()) { + mergeResellerContact(other.getResellerContact()); + } + if (!other.getInternalNote().isEmpty()) { + internalNote_ = other.internalNote_; + bitField0_ |= 0x00001000; + onChanged(); + } + if (other.offerDealType_ != 0) { + setOfferDealTypeValue(other.getOfferDealTypeValue()); + } + if (!other.getTitle().isEmpty()) { + title_ = other.title_; + bitField0_ |= 0x00004000; + onChanged(); + } + if (!other.getCustomerNote().isEmpty()) { + customerNote_ = other.customerNote_; + bitField0_ |= 0x00008000; + onChanged(); + } + if (other.hasPartnerContact()) { + mergePartnerContact(other.getPartnerContact()); + } + if (other.hasCustomer()) { + mergeCustomer(other.getCustomer()); + } + if (other.hasAcceptDeadlineTime()) { + mergeAcceptDeadlineTime(other.getAcceptDeadlineTime()); + } + if (other.hasTerm()) { + mergeTerm(other.getTerm()); + } + switch (other.getContentCase()) { + case SINGLE_PRODUCT_OFFER: + { + mergeSingleProductOffer(other.getSingleProductOffer()); + break; + } + case CONTENT_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + title_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00004000; + break; + } // case 18 + case 24: + { + state_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: + { + input.readMessage( + internalGetPublishRequirementGoogleReviewFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetAcceptDeadlineTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00040000; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: + { + input.readMessage( + internalGetPublishTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 66 + case 74: + { + input.readMessage( + internalGetAcceptTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 74 + case 82: + { + input.readMessage( + internalGetCancelTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 82 + case 90: + { + cancellationNote_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000400; + break; + } // case 90 + case 98: + { + input.readMessage( + internalGetSingleProductOfferFieldBuilder().getBuilder(), extensionRegistry); + contentCase_ = 12; + break; + } // case 98 + case 106: + { + input.readMessage( + internalGetCustomerFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00020000; + break; + } // case 106 + case 114: + { + input.readMessage( + internalGetPartnerContactFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00010000; + break; + } // case 114 + case 122: + { + input.readMessage(internalGetTermFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00080000; + break; + } // case 122 + case 130: + { + internalNote_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00001000; + break; + } // case 130 + case 138: + { + customerNote_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00008000; + break; + } // case 138 + case 162: + { + input.readMessage( + internalGetResellerContactFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000800; + break; + } // case 162 + case 168: + { + offerDealType_ = input.readEnum(); + bitField0_ |= 0x00002000; + break; + } // case 168 + case 178: + { + input.readMessage(internalGetEndTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000200; + break; + } // case 178 + 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 contentCase_ = 0; + private java.lang.Object content_; + + public ContentCase getContentCase() { + return ContentCase.forNumber(contentCase_); + } + + public Builder clearContent() { + contentCase_ = 0; + content_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder> + singleProductOfferBuilder_; + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the singleProductOffer field is set. + */ + @java.lang.Override + public boolean hasSingleProductOffer() { + return contentCase_ == 12; + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The singleProductOffer. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + getSingleProductOffer() { + if (singleProductOfferBuilder_ == null) { + if (contentCase_ == 12) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + content_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } else { + if (contentCase_ == 12) { + return singleProductOfferBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSingleProductOffer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer value) { + if (singleProductOfferBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + onChanged(); + } else { + singleProductOfferBuilder_.setMessage(value); + } + contentCase_ = 12; + return this; + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSingleProductOffer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder + builderForValue) { + if (singleProductOfferBuilder_ == null) { + content_ = builderForValue.build(); + onChanged(); + } else { + singleProductOfferBuilder_.setMessage(builderForValue.build()); + } + contentCase_ = 12; + return this; + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeSingleProductOffer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer value) { + if (singleProductOfferBuilder_ == null) { + if (contentCase_ == 12 + && content_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance()) { + content_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.newBuilder( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + content_) + .mergeFrom(value) + .buildPartial(); + } else { + content_ = value; + } + onChanged(); + } else { + if (contentCase_ == 12) { + singleProductOfferBuilder_.mergeFrom(value); + } else { + singleProductOfferBuilder_.setMessage(value); + } + } + contentCase_ = 12; + return this; + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearSingleProductOffer() { + if (singleProductOfferBuilder_ == null) { + if (contentCase_ == 12) { + contentCase_ = 0; + content_ = null; + onChanged(); + } + } else { + if (contentCase_ == 12) { + contentCase_ = 0; + content_ = null; + } + singleProductOfferBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder + getSingleProductOfferBuilder() { + return internalGetSingleProductOfferFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder + getSingleProductOfferOrBuilder() { + if ((contentCase_ == 12) && (singleProductOfferBuilder_ != null)) { + return singleProductOfferBuilder_.getMessageOrBuilder(); + } else { + if (contentCase_ == 12) { + return (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) + content_; + } + return com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. Configurations for the offer that is associated with a single
+     * product.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder> + internalGetSingleProductOfferFieldBuilder() { + if (singleProductOfferBuilder_ == null) { + if (!(contentCase_ == 12)) { + content_ = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer + .getDefaultInstance(); + } + singleProductOfferBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer) content_, + getParentForChildren(), + isClean()); + content_ = null; + } + contentCase_ = 12; + onChanged(); + return singleProductOfferBuilder_; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int state_ = 0; + + /** + * + * + *
+     * Output only. The state of the private offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + + /** + * + * + *
+     * Output only. The state of the private offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for state to set. + * @return This builder for chaining. + */ + public Builder setStateValue(int value) { + state_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The state of the private offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.State getState() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.State result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.forNumber(state_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.State.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Output only. The state of the private offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The state to set. + * @return This builder for chaining. + */ + public Builder setState(com.google.cloud.commerceproducer.v1beta.PrivateOffer.State value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + state_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The state of the private offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearState() { + bitField0_ = (bitField0_ & ~0x00000004); + state_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + publishRequirementGoogleReview_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder> + publishRequirementGoogleReviewBuilder_; + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishRequirementGoogleReview field is set. + */ + public boolean hasPublishRequirementGoogleReview() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishRequirementGoogleReview. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + getPublishRequirementGoogleReview() { + if (publishRequirementGoogleReviewBuilder_ == null) { + return publishRequirementGoogleReview_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance() + : publishRequirementGoogleReview_; + } else { + return publishRequirementGoogleReviewBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPublishRequirementGoogleReview( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + value) { + if (publishRequirementGoogleReviewBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + publishRequirementGoogleReview_ = value; + } else { + publishRequirementGoogleReviewBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPublishRequirementGoogleReview( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview.Builder + builderForValue) { + if (publishRequirementGoogleReviewBuilder_ == null) { + publishRequirementGoogleReview_ = builderForValue.build(); + } else { + publishRequirementGoogleReviewBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePublishRequirementGoogleReview( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + value) { + if (publishRequirementGoogleReviewBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && publishRequirementGoogleReview_ != null + && publishRequirementGoogleReview_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview.getDefaultInstance()) { + getPublishRequirementGoogleReviewBuilder().mergeFrom(value); + } else { + publishRequirementGoogleReview_ = value; + } + } else { + publishRequirementGoogleReviewBuilder_.mergeFrom(value); + } + if (publishRequirementGoogleReview_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPublishRequirementGoogleReview() { + bitField0_ = (bitField0_ & ~0x00000008); + publishRequirementGoogleReview_ = null; + if (publishRequirementGoogleReviewBuilder_ != null) { + publishRequirementGoogleReviewBuilder_.dispose(); + publishRequirementGoogleReviewBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder + getPublishRequirementGoogleReviewBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetPublishRequirementGoogleReviewFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder + getPublishRequirementGoogleReviewOrBuilder() { + if (publishRequirementGoogleReviewBuilder_ != null) { + return publishRequirementGoogleReviewBuilder_.getMessageOrBuilder(); + } else { + return publishRequirementGoogleReview_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .getDefaultInstance() + : publishRequirementGoogleReview_; + } + } + + /** + * + * + *
+     * Output only. Information about the Google review process.
+     * Present only when the offer is determined to require review by Google.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder> + internalGetPublishRequirementGoogleReviewFieldBuilder() { + if (publishRequirementGoogleReviewBuilder_ == null) { + publishRequirementGoogleReviewBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReview, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + .Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer + .PublishRequirementGoogleReviewOrBuilder>( + getPublishRequirementGoogleReview(), getParentForChildren(), isClean()); + publishRequirementGoogleReview_ = null; + } + return publishRequirementGoogleReviewBuilder_; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000010); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The creation time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000020); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The last update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private com.google.protobuf.Timestamp publishTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + publishTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishTime field is set. + */ + public boolean hasPublishTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishTime. + */ + public com.google.protobuf.Timestamp getPublishTime() { + if (publishTimeBuilder_ == null) { + return publishTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : publishTime_; + } else { + return publishTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPublishTime(com.google.protobuf.Timestamp value) { + if (publishTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + publishTime_ = value; + } else { + publishTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPublishTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (publishTimeBuilder_ == null) { + publishTime_ = builderForValue.build(); + } else { + publishTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePublishTime(com.google.protobuf.Timestamp value) { + if (publishTimeBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && publishTime_ != null + && publishTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getPublishTimeBuilder().mergeFrom(value); + } else { + publishTime_ = value; + } + } else { + publishTimeBuilder_.mergeFrom(value); + } + if (publishTime_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPublishTime() { + bitField0_ = (bitField0_ & ~0x00000040); + publishTime_ = null; + if (publishTimeBuilder_ != null) { + publishTimeBuilder_.dispose(); + publishTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getPublishTimeBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetPublishTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder() { + if (publishTimeBuilder_ != null) { + return publishTimeBuilder_.getMessageOrBuilder(); + } else { + return publishTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : publishTime_; + } + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to PUBLISHED state.
+     * 
+ * + * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetPublishTimeFieldBuilder() { + if (publishTimeBuilder_ == null) { + publishTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getPublishTime(), getParentForChildren(), isClean()); + publishTime_ = null; + } + return publishTimeBuilder_; + } + + private com.google.protobuf.Timestamp acceptTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + acceptTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the acceptTime field is set. + */ + public boolean hasAcceptTime() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The acceptTime. + */ + public com.google.protobuf.Timestamp getAcceptTime() { + if (acceptTimeBuilder_ == null) { + return acceptTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : acceptTime_; + } else { + return acceptTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAcceptTime(com.google.protobuf.Timestamp value) { + if (acceptTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + acceptTime_ = value; + } else { + acceptTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAcceptTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (acceptTimeBuilder_ == null) { + acceptTime_ = builderForValue.build(); + } else { + acceptTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAcceptTime(com.google.protobuf.Timestamp value) { + if (acceptTimeBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) + && acceptTime_ != null + && acceptTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getAcceptTimeBuilder().mergeFrom(value); + } else { + acceptTime_ = value; + } + } else { + acceptTimeBuilder_.mergeFrom(value); + } + if (acceptTime_ != null) { + bitField0_ |= 0x00000080; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAcceptTime() { + bitField0_ = (bitField0_ & ~0x00000080); + acceptTime_ = null; + if (acceptTimeBuilder_ != null) { + acceptTimeBuilder_.dispose(); + acceptTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getAcceptTimeBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return internalGetAcceptTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getAcceptTimeOrBuilder() { + if (acceptTimeBuilder_ != null) { + return acceptTimeBuilder_.getMessageOrBuilder(); + } else { + return acceptTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : acceptTime_; + } + } + + /** + * + * + *
+     * Output only. The time the offer transitioned to ACCEPTED state.
+     * 
+ * + * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetAcceptTimeFieldBuilder() { + if (acceptTimeBuilder_ == null) { + acceptTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getAcceptTime(), getParentForChildren(), isClean()); + acceptTime_ = null; + } + return acceptTimeBuilder_; + } + + private com.google.protobuf.Timestamp cancelTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + cancelTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cancelTime field is set. + */ + public boolean hasCancelTime() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cancelTime. + */ + public com.google.protobuf.Timestamp getCancelTime() { + if (cancelTimeBuilder_ == null) { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } else { + return cancelTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + cancelTime_ = value; + } else { + cancelTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCancelTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (cancelTimeBuilder_ == null) { + cancelTime_ = builderForValue.build(); + } else { + cancelTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCancelTime(com.google.protobuf.Timestamp value) { + if (cancelTimeBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && cancelTime_ != null + && cancelTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCancelTimeBuilder().mergeFrom(value); + } else { + cancelTime_ = value; + } + } else { + cancelTimeBuilder_.mergeFrom(value); + } + if (cancelTime_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCancelTime() { + bitField0_ = (bitField0_ & ~0x00000100); + cancelTime_ = null; + if (cancelTimeBuilder_ != null) { + cancelTimeBuilder_.dispose(); + cancelTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCancelTimeBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetCancelTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder() { + if (cancelTimeBuilder_ != null) { + return cancelTimeBuilder_.getMessageOrBuilder(); + } else { + return cancelTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : cancelTime_; + } + } + + /** + * + * + *
+     * Output only. The time the offer transited to CANCELLED state.
+     * 
+ * + * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCancelTimeFieldBuilder() { + if (cancelTimeBuilder_ == null) { + cancelTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCancelTime(), getParentForChildren(), isClean()); + cancelTime_ = null; + } + return cancelTimeBuilder_; + } + + private com.google.protobuf.Timestamp endTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + endTimeBuilder_; + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + public boolean hasEndTime() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + public com.google.protobuf.Timestamp getEndTime() { + if (endTimeBuilder_ == null) { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } else { + return endTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTime_ = value; + } else { + endTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (endTimeBuilder_ == null) { + endTime_ = builderForValue.build(); + } else { + endTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0) + && endTime_ != null + && endTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEndTimeBuilder().mergeFrom(value); + } else { + endTime_ = value; + } + } else { + endTimeBuilder_.mergeFrom(value); + } + if (endTime_ != null) { + bitField0_ |= 0x00000200; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEndTime() { + bitField0_ = (bitField0_ & ~0x00000200); + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return internalGetEndTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + if (endTimeBuilder_ != null) { + return endTimeBuilder_.getMessageOrBuilder(); + } else { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + } + + /** + * + * + *
+     * Output only. The time when the offer ended. This can only be set for offers
+     * with `ENDED` state.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEndTimeFieldBuilder() { + if (endTimeBuilder_ == null) { + endTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEndTime(), getParentForChildren(), isClean()); + endTime_ = null; + } + return endTimeBuilder_; + } + + private java.lang.Object cancellationNote_ = ""; + + /** + * + * + *
+     * Output only. Internal note supplied when the offer was cancelled.
+     * Present only for cancelled offers and only if a note was supplied.
+     * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The cancellationNote. + */ + public java.lang.String getCancellationNote() { + java.lang.Object ref = cancellationNote_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + cancellationNote_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Internal note supplied when the offer was cancelled.
+     * Present only for cancelled offers and only if a note was supplied.
+     * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for cancellationNote. + */ + public com.google.protobuf.ByteString getCancellationNoteBytes() { + java.lang.Object ref = cancellationNote_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + cancellationNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Internal note supplied when the offer was cancelled.
+     * Present only for cancelled offers and only if a note was supplied.
+     * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The cancellationNote to set. + * @return This builder for chaining. + */ + public Builder setCancellationNote(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + cancellationNote_ = value; + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Internal note supplied when the offer was cancelled.
+     * Present only for cancelled offers and only if a note was supplied.
+     * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearCancellationNote() { + cancellationNote_ = getDefaultInstance().getCancellationNote(); + bitField0_ = (bitField0_ & ~0x00000400); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Internal note supplied when the offer was cancelled.
+     * Present only for cancelled offers and only if a note was supplied.
+     * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for cancellationNote to set. + * @return This builder for chaining. + */ + public Builder setCancellationNoteBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + cancellationNote_ = value; + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact resellerContact_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder> + resellerContactBuilder_; + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the resellerContact field is set. + */ + public boolean hasResellerContact() { + return ((bitField0_ & 0x00000800) != 0); + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerContact. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + getResellerContact() { + if (resellerContactBuilder_ == null) { + return resellerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + .getDefaultInstance() + : resellerContact_; + } else { + return resellerContactBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setResellerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact value) { + if (resellerContactBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + resellerContact_ = value; + } else { + resellerContactBuilder_.setMessage(value); + } + bitField0_ |= 0x00000800; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setResellerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder + builderForValue) { + if (resellerContactBuilder_ == null) { + resellerContact_ = builderForValue.build(); + } else { + resellerContactBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000800; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeResellerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact value) { + if (resellerContactBuilder_ == null) { + if (((bitField0_ & 0x00000800) != 0) + && resellerContact_ != null + && resellerContact_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + .getDefaultInstance()) { + getResellerContactBuilder().mergeFrom(value); + } else { + resellerContact_ = value; + } + } else { + resellerContactBuilder_.mergeFrom(value); + } + if (resellerContact_ != null) { + bitField0_ |= 0x00000800; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearResellerContact() { + bitField0_ = (bitField0_ & ~0x00000800); + resellerContact_ = null; + if (resellerContactBuilder_ != null) { + resellerContactBuilder_.dispose(); + resellerContactBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder + getResellerContactBuilder() { + bitField0_ |= 0x00000800; + onChanged(); + return internalGetResellerContactFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder + getResellerContactOrBuilder() { + if (resellerContactBuilder_ != null) { + return resellerContactBuilder_.getMessageOrBuilder(); + } else { + return resellerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact + .getDefaultInstance() + : resellerContact_; + } + } + + /** + * + * + *
+     * Output only. Information about the reseller contact.
+     * Present only for offers created by a reseller.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder> + internalGetResellerContactFieldBuilder() { + if (resellerContactBuilder_ == null) { + resellerContactBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder>( + getResellerContact(), getParentForChildren(), isClean()); + resellerContact_ = null; + } + return resellerContactBuilder_; + } + + private java.lang.Object internalNote_ = ""; + + /** + * + * + *
+     * Optional. Unstructured text content that is not visible to the customer.
+     * Intended to be used by partners for storing notes about the private offer.
+     * Maximum length: 1500 characters.
+     * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The internalNote. + */ + public java.lang.String getInternalNote() { + java.lang.Object ref = internalNote_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + internalNote_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Unstructured text content that is not visible to the customer.
+     * Intended to be used by partners for storing notes about the private offer.
+     * Maximum length: 1500 characters.
+     * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for internalNote. + */ + public com.google.protobuf.ByteString getInternalNoteBytes() { + java.lang.Object ref = internalNote_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + internalNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Unstructured text content that is not visible to the customer.
+     * Intended to be used by partners for storing notes about the private offer.
+     * Maximum length: 1500 characters.
+     * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The internalNote to set. + * @return This builder for chaining. + */ + public Builder setInternalNote(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + internalNote_ = value; + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Unstructured text content that is not visible to the customer.
+     * Intended to be used by partners for storing notes about the private offer.
+     * Maximum length: 1500 characters.
+     * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearInternalNote() { + internalNote_ = getDefaultInstance().getInternalNote(); + bitField0_ = (bitField0_ & ~0x00001000); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Unstructured text content that is not visible to the customer.
+     * Intended to be used by partners for storing notes about the private offer.
+     * Maximum length: 1500 characters.
+     * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for internalNote to set. + * @return This builder for chaining. + */ + public Builder setInternalNoteBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + internalNote_ = value; + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + + private int offerDealType_ = 0; + + /** + * + * + *
+     * Optional. The type of the deal transacted with the offer.
+     *
+     * The deal type is not visible to customers.
+     *
+     * Must be present to publish the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for offerDealType. + */ + @java.lang.Override + public int getOfferDealTypeValue() { + return offerDealType_; + } + + /** + * + * + *
+     * Optional. The type of the deal transacted with the offer.
+     *
+     * The deal type is not visible to customers.
+     *
+     * Must be present to publish the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for offerDealType to set. + * @return This builder for chaining. + */ + public Builder setOfferDealTypeValue(int value) { + offerDealType_ = value; + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The type of the deal transacted with the offer.
+     *
+     * The deal type is not visible to customers.
+     *
+     * Must be present to publish the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The offerDealType. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType getOfferDealType() { + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType result = + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType.forNumber( + offerDealType_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Optional. The type of the deal transacted with the offer.
+     *
+     * The deal type is not visible to customers.
+     *
+     * Must be present to publish the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The offerDealType to set. + * @return This builder for chaining. + */ + public Builder setOfferDealType( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00002000; + offerDealType_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The type of the deal transacted with the offer.
+     *
+     * The deal type is not visible to customers.
+     *
+     * Must be present to publish the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearOfferDealType() { + bitField0_ = (bitField0_ & ~0x00002000); + offerDealType_ = 0; + onChanged(); + return this; + } + + private java.lang.Object title_ = ""; + + /** + * + * + *
+     * Optional. A title that describes the offer and helps your customers
+     * identify it. This title will be visible to the customer. Maximum length:
+     * 256 characters. Must be present to publish the offer.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The title. + */ + public java.lang.String getTitle() { + java.lang.Object ref = title_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + title_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A title that describes the offer and helps your customers
+     * identify it. This title will be visible to the customer. Maximum length:
+     * 256 characters. Must be present to publish the offer.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for title. + */ + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A title that describes the offer and helps your customers
+     * identify it. This title will be visible to the customer. Maximum length:
+     * 256 characters. Must be present to publish the offer.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The title to set. + * @return This builder for chaining. + */ + public Builder setTitle(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + title_ = value; + bitField0_ |= 0x00004000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A title that describes the offer and helps your customers
+     * identify it. This title will be visible to the customer. Maximum length:
+     * 256 characters. Must be present to publish the offer.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearTitle() { + title_ = getDefaultInstance().getTitle(); + bitField0_ = (bitField0_ & ~0x00004000); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A title that describes the offer and helps your customers
+     * identify it. This title will be visible to the customer. Maximum length:
+     * 256 characters. Must be present to publish the offer.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for title to set. + * @return This builder for chaining. + */ + public Builder setTitleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + title_ = value; + bitField0_ |= 0x00004000; + onChanged(); + return this; + } + + private java.lang.Object customerNote_ = ""; + + /** + * + * + *
+     * Optional. Unstructured text content that is visible to the customer.
+     * Maximum length: 120 characters.
+     * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The customerNote. + */ + public java.lang.String getCustomerNote() { + java.lang.Object ref = customerNote_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + customerNote_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Unstructured text content that is visible to the customer.
+     * Maximum length: 120 characters.
+     * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for customerNote. + */ + public com.google.protobuf.ByteString getCustomerNoteBytes() { + java.lang.Object ref = customerNote_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + customerNote_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Unstructured text content that is visible to the customer.
+     * Maximum length: 120 characters.
+     * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The customerNote to set. + * @return This builder for chaining. + */ + public Builder setCustomerNote(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + customerNote_ = value; + bitField0_ |= 0x00008000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Unstructured text content that is visible to the customer.
+     * Maximum length: 120 characters.
+     * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearCustomerNote() { + customerNote_ = getDefaultInstance().getCustomerNote(); + bitField0_ = (bitField0_ & ~0x00008000); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Unstructured text content that is visible to the customer.
+     * Maximum length: 120 characters.
+     * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for customerNote to set. + * @return This builder for chaining. + */ + public Builder setCustomerNoteBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + customerNote_ = value; + bitField0_ |= 0x00008000; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partnerContact_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder> + partnerContactBuilder_; + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the partnerContact field is set. + */ + public boolean hasPartnerContact() { + return ((bitField0_ & 0x00010000) != 0); + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The partnerContact. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + getPartnerContact() { + if (partnerContactBuilder_ == null) { + return partnerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + .getDefaultInstance() + : partnerContact_; + } else { + return partnerContactBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPartnerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact value) { + if (partnerContactBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + partnerContact_ = value; + } else { + partnerContactBuilder_.setMessage(value); + } + bitField0_ |= 0x00010000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setPartnerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder + builderForValue) { + if (partnerContactBuilder_ == null) { + partnerContact_ = builderForValue.build(); + } else { + partnerContactBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00010000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergePartnerContact( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact value) { + if (partnerContactBuilder_ == null) { + if (((bitField0_ & 0x00010000) != 0) + && partnerContact_ != null + && partnerContact_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + .getDefaultInstance()) { + getPartnerContactBuilder().mergeFrom(value); + } else { + partnerContact_ = value; + } + } else { + partnerContactBuilder_.mergeFrom(value); + } + if (partnerContact_ != null) { + bitField0_ |= 0x00010000; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearPartnerContact() { + bitField0_ = (bitField0_ & ~0x00010000); + partnerContact_ = null; + if (partnerContactBuilder_ != null) { + partnerContactBuilder_.dispose(); + partnerContactBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder + getPartnerContactBuilder() { + bitField0_ |= 0x00010000; + onChanged(); + return internalGetPartnerContactFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder + getPartnerContactOrBuilder() { + if (partnerContactBuilder_ != null) { + return partnerContactBuilder_.getMessageOrBuilder(); + } else { + return partnerContact_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact + .getDefaultInstance() + : partnerContact_; + } + } + + /** + * + * + *
+     * Optional. Information about the partner contact.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder> + internalGetPartnerContactFieldBuilder() { + if (partnerContactBuilder_ == null) { + partnerContactBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder>( + getPartnerContact(), getParentForChildren(), isClean()); + partnerContact_ = null; + } + return partnerContactBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder> + customerBuilder_; + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customer field is set. + */ + public boolean hasCustomer() { + return ((bitField0_ & 0x00020000) != 0); + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customer. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer getCustomer() { + if (customerBuilder_ == null) { + return customer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance() + : customer_; + } else { + return customerBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCustomer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer value) { + if (customerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + customer_ = value; + } else { + customerBuilder_.setMessage(value); + } + bitField0_ |= 0x00020000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setCustomer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder builderForValue) { + if (customerBuilder_ == null) { + customer_ = builderForValue.build(); + } else { + customerBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00020000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeCustomer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer value) { + if (customerBuilder_ == null) { + if (((bitField0_ & 0x00020000) != 0) + && customer_ != null + && customer_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer + .getDefaultInstance()) { + getCustomerBuilder().mergeFrom(value); + } else { + customer_ = value; + } + } else { + customerBuilder_.mergeFrom(value); + } + if (customer_ != null) { + bitField0_ |= 0x00020000; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearCustomer() { + bitField0_ = (bitField0_ & ~0x00020000); + customer_ = null; + if (customerBuilder_ != null) { + customerBuilder_.dispose(); + customerBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder + getCustomerBuilder() { + bitField0_ |= 0x00020000; + onChanged(); + return internalGetCustomerFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder + getCustomerOrBuilder() { + if (customerBuilder_ != null) { + return customerBuilder_.getMessageOrBuilder(); + } else { + return customer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.getDefaultInstance() + : customer_; + } + } + + /** + * + * + *
+     * Optional. Information identifying the intended recipient of the offer.
+     * Must be provided when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder> + internalGetCustomerFieldBuilder() { + if (customerBuilder_ == null) { + customerBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder>( + getCustomer(), getParentForChildren(), isClean()); + customer_ = null; + } + return customerBuilder_; + } + + private com.google.type.DateTime acceptDeadlineTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + acceptDeadlineTimeBuilder_; + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the acceptDeadlineTime field is set. + */ + public boolean hasAcceptDeadlineTime() { + return ((bitField0_ & 0x00040000) != 0); + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The acceptDeadlineTime. + */ + public com.google.type.DateTime getAcceptDeadlineTime() { + if (acceptDeadlineTimeBuilder_ == null) { + return acceptDeadlineTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : acceptDeadlineTime_; + } else { + return acceptDeadlineTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAcceptDeadlineTime(com.google.type.DateTime value) { + if (acceptDeadlineTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + acceptDeadlineTime_ = value; + } else { + acceptDeadlineTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00040000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAcceptDeadlineTime(com.google.type.DateTime.Builder builderForValue) { + if (acceptDeadlineTimeBuilder_ == null) { + acceptDeadlineTime_ = builderForValue.build(); + } else { + acceptDeadlineTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00040000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeAcceptDeadlineTime(com.google.type.DateTime value) { + if (acceptDeadlineTimeBuilder_ == null) { + if (((bitField0_ & 0x00040000) != 0) + && acceptDeadlineTime_ != null + && acceptDeadlineTime_ != com.google.type.DateTime.getDefaultInstance()) { + getAcceptDeadlineTimeBuilder().mergeFrom(value); + } else { + acceptDeadlineTime_ = value; + } + } else { + acceptDeadlineTimeBuilder_.mergeFrom(value); + } + if (acceptDeadlineTime_ != null) { + bitField0_ |= 0x00040000; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearAcceptDeadlineTime() { + bitField0_ = (bitField0_ & ~0x00040000); + acceptDeadlineTime_ = null; + if (acceptDeadlineTimeBuilder_ != null) { + acceptDeadlineTimeBuilder_.dispose(); + acceptDeadlineTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTime.Builder getAcceptDeadlineTimeBuilder() { + bitField0_ |= 0x00040000; + onChanged(); + return internalGetAcceptDeadlineTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.type.DateTimeOrBuilder getAcceptDeadlineTimeOrBuilder() { + if (acceptDeadlineTimeBuilder_ != null) { + return acceptDeadlineTimeBuilder_.getMessageOrBuilder(); + } else { + return acceptDeadlineTime_ == null + ? com.google.type.DateTime.getDefaultInstance() + : acceptDeadlineTime_; + } + } + + /** + * + * + *
+     * Optional. Deadline for acceptance of published offers.
+     * A published offer not accepted by this time will expire.
+     * Only day boundaries in the America/Los_Angeles time zone are supported.
+     * Must be present to publish the offer.
+     *
+     * When publishing an offer the deadline must be set to a time in the future
+     * not more than 3 months from the time of publishing. For example, if the
+     * offer is published on 03/05 at 1PM, then the deadline must be at or before
+     * 06/05 12AM America/Los_Angeles time.
+     *
+     * The deadline must also be:
+     *
+     * * Before or equal to the scheduled start time of this offer (if
+     * `term.scheduled_start_time` is set and the term's start policy is
+     * `SCHEDULED_START_TIME`).
+     * * Before or equal to the scheduled end time of this offer, if
+     * `term.scheduled_end_time` is set and the term's end policy is
+     * `SCHEDULED_END_TIME`.
+     * * Before or equal to the upcoming installment start times on this offer.
+     * * Before or equal to the amended offer's end time, if the offer amends
+     * another private or standard offer.
+     * * Before or equal to the start time of the next pending installment of the
+     * amended offer, if amending a private offer with custom installments. For
+     * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+     * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+     * must be at or before 03/01.
+     *
+     * In addition, if the offer amends another private offer, but there is
+     * already an accepted upcoming amendment against that private offer, then
+     * this deadline must be before or equal to the start time of the accepted
+     * upcoming offer.
+     * For example, today is 02/15, and this offer (offer C) amends private offer
+     * A, and private offer B has already been accepted which also amends private
+     * offer A. Private offer B has a start time of 03/01. Then this deadline
+     * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+     * take effect, superseding offer A. This would mean offer C is no longer
+     * amending the currently active offer (Offer A), which is required for
+     * valid amendments.
+     *
+     * Once the offer is published, this field is still updatable to extend the
+     * deadline of the offer. However, the extension is still limited to be
+     * at most 3 months from the time of publishing.
+     * 
+ * + * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder> + internalGetAcceptDeadlineTimeFieldBuilder() { + if (acceptDeadlineTimeBuilder_ == null) { + acceptDeadlineTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.DateTime, + com.google.type.DateTime.Builder, + com.google.type.DateTimeOrBuilder>( + getAcceptDeadlineTime(), getParentForChildren(), isClean()); + acceptDeadlineTime_ = null; + } + return acceptDeadlineTimeBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term term_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder> + termBuilder_; + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the term field is set. + */ + public boolean hasTerm() { + return ((bitField0_ & 0x00080000) != 0); + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The term. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term getTerm() { + if (termBuilder_ == null) { + return term_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance() + : term_; + } else { + return termBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setTerm(com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term value) { + if (termBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + term_ = value; + } else { + termBuilder_.setMessage(value); + } + bitField0_ |= 0x00080000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setTerm( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder builderForValue) { + if (termBuilder_ == null) { + term_ = builderForValue.build(); + } else { + termBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00080000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeTerm(com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term value) { + if (termBuilder_ == null) { + if (((bitField0_ & 0x00080000) != 0) + && term_ != null + && term_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term + .getDefaultInstance()) { + getTermBuilder().mergeFrom(value); + } else { + term_ = value; + } + } else { + termBuilder_.mergeFrom(value); + } + if (term_ != null) { + bitField0_ |= 0x00080000; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearTerm() { + bitField0_ = (bitField0_ & ~0x00080000); + term_ = null; + if (termBuilder_ != null) { + termBuilder_.dispose(); + termBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder getTermBuilder() { + bitField0_ |= 0x00080000; + onChanged(); + return internalGetTermFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder getTermOrBuilder() { + if (termBuilder_ != null) { + return termBuilder_.getMessageOrBuilder(); + } else { + return term_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.getDefaultInstance() + : term_; + } + } + + /** + * + * + *
+     * Optional. Configuration for the offer term.
+     * Must be set when publishing the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder> + internalGetTermFieldBuilder() { + if (termBuilder_ == null) { + termBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder>( + getTerm(), getParentForChildren(), isClean()); + term_ = null; + } + return termBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOffer) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOffer) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOffer DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PrivateOffer(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOffer getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PrivateOffer 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.cloud.commerceproducer.v1beta.PrivateOffer getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocument.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocument.java new file mode 100644 index 000000000000..94ebcc17f2ea --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocument.java @@ -0,0 +1,2129 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/private_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing the PrivateOfferDocument resource.
+ * Used to attach documents to a private offer in state DRAFT.
+ * Once a private offer is no longer in state DRAFT, the set of child documents
+ * is immutable. Existing documents cannot be updated or deleted, and new
+ * documents cannot be added.
+ *
+ * A private offer must include a EULA, either by assigning a standard EULA
+ * or attaching a custom EULA document, or a statement of work document.
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOfferDocument} + */ +@com.google.protobuf.Generated +public final class PrivateOfferDocument extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PrivateOfferDocument) + PrivateOfferDocumentOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PrivateOfferDocument"); + } + + // Use PrivateOfferDocument.newBuilder() to construct. + private PrivateOfferDocument(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PrivateOfferDocument() { + name_ = ""; + documentType_ = 0; + mimeType_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.class, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder.class); + } + + /** + * + * + *
+   * Supported types of documents.
+   * Additional document types may be added in future. Further editions of the
+   * Google Cloud Marketplace Standard EULA may be published in future, which
+   * may result in changes to the subset of Standard EULA versions permitted
+   * to be used in new offers.
+   * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType} + */ + public enum DocumentType implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * The default / unset value. Do not use.
+     * 
+ * + * DOCUMENT_TYPE_UNSPECIFIED = 0; + */ + DOCUMENT_TYPE_UNSPECIFIED(0), + /** + * + * + *
+     * The document is a custom EULA used in place of the standard product EULA.
+     * A private offer may not have more than one custom EULA document.
+     *
+     * If this enum value is set, then mime_type and inline_content must
+     * be set.
+     * 
+ * + * CUSTOM_END_USER_LICENSE_AGREEMENT = 1; + */ + CUSTOM_END_USER_LICENSE_AGREEMENT(1), + /** + * + * + *
+     * The document is the statement of work required by the [Cloud Marketplace
+     * Product Specific
+     * Terms](https://cloud.google.com/terms/marketplace-product-terms) for all
+     * Professional Services product private offers.
+     * This document type is not permitted for private offers of any other
+     * product type.
+     * A private offer may not have more than one statement of work document.
+     *
+     * The mime_type and inline_content fields must be set.
+     * 
+ * + * STATEMENT_OF_WORK = 2; + */ + STATEMENT_OF_WORK(2), + /** + * + * + *
+     * The document is the Marketplace standard EULA, with the following link:
+     * https://cloud.google.com/terms/marketplace/eula-standard-v1-12102020.
+     * Existing offers may have this document type, but this is not permitted
+     * for new offers.
+     * 
+ * + * STANDARD_END_USER_LICENSE_AGREEMENT_V1 = 3; + */ + STANDARD_END_USER_LICENSE_AGREEMENT_V1(3), + /** + * + * + *
+     * The document is the Marketplace standard EULA, with the following link:
+     * https://cloud.google.com/terms/marketplace/eula-standard-v2-01272021
+     *
+     * New offers using Standard EULAs should set this enum value. This is not
+     * permitted for Professional Services products.
+     *
+     * The mime_type and inline_content fields must not be set.
+     * 
+ * + * STANDARD_END_USER_LICENSE_AGREEMENT_V2 = 4; + */ + STANDARD_END_USER_LICENSE_AGREEMENT_V2(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "DocumentType"); + } + + /** + * + * + *
+     * The default / unset value. Do not use.
+     * 
+ * + * DOCUMENT_TYPE_UNSPECIFIED = 0; + */ + public static final int DOCUMENT_TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * The document is a custom EULA used in place of the standard product EULA.
+     * A private offer may not have more than one custom EULA document.
+     *
+     * If this enum value is set, then mime_type and inline_content must
+     * be set.
+     * 
+ * + * CUSTOM_END_USER_LICENSE_AGREEMENT = 1; + */ + public static final int CUSTOM_END_USER_LICENSE_AGREEMENT_VALUE = 1; + + /** + * + * + *
+     * The document is the statement of work required by the [Cloud Marketplace
+     * Product Specific
+     * Terms](https://cloud.google.com/terms/marketplace-product-terms) for all
+     * Professional Services product private offers.
+     * This document type is not permitted for private offers of any other
+     * product type.
+     * A private offer may not have more than one statement of work document.
+     *
+     * The mime_type and inline_content fields must be set.
+     * 
+ * + * STATEMENT_OF_WORK = 2; + */ + public static final int STATEMENT_OF_WORK_VALUE = 2; + + /** + * + * + *
+     * The document is the Marketplace standard EULA, with the following link:
+     * https://cloud.google.com/terms/marketplace/eula-standard-v1-12102020.
+     * Existing offers may have this document type, but this is not permitted
+     * for new offers.
+     * 
+ * + * STANDARD_END_USER_LICENSE_AGREEMENT_V1 = 3; + */ + public static final int STANDARD_END_USER_LICENSE_AGREEMENT_V1_VALUE = 3; + + /** + * + * + *
+     * The document is the Marketplace standard EULA, with the following link:
+     * https://cloud.google.com/terms/marketplace/eula-standard-v2-01272021
+     *
+     * New offers using Standard EULAs should set this enum value. This is not
+     * permitted for Professional Services products.
+     *
+     * The mime_type and inline_content fields must not be set.
+     * 
+ * + * STANDARD_END_USER_LICENSE_AGREEMENT_V2 = 4; + */ + public static final int STANDARD_END_USER_LICENSE_AGREEMENT_V2_VALUE = 4; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DocumentType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static DocumentType forNumber(int value) { + switch (value) { + case 0: + return DOCUMENT_TYPE_UNSPECIFIED; + case 1: + return CUSTOM_END_USER_LICENSE_AGREEMENT; + case 2: + return STATEMENT_OF_WORK; + case 3: + return STANDARD_END_USER_LICENSE_AGREEMENT_V1; + case 4: + return STANDARD_END_USER_LICENSE_AGREEMENT_V2; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public DocumentType findValueByNumber(int number) { + return DocumentType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final DocumentType[] VALUES = values(); + + public static DocumentType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private DocumentType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType) + } + + private int bitField0_; + private int contentCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object content_; + + public enum ContentCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + INLINE_CONTENT(6), + CONTENT_NOT_SET(0); + private final int value; + + private ContentCase(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 ContentCase valueOf(int value) { + return forNumber(value); + } + + public static ContentCase forNumber(int value) { + switch (value) { + case 6: + return INLINE_CONTENT; + case 0: + return CONTENT_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public ContentCase getContentCase() { + return ContentCase.forNumber(contentCase_); + } + + public static final int INLINE_CONTENT_FIELD_NUMBER = 6; + + /** + * + * + *
+   * Optional. Byte content of an unstructured document.
+   * Max size: 4MB
+   * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the inlineContent field is set. + */ + @java.lang.Override + public boolean hasInlineContent() { + return contentCase_ == 6; + } + + /** + * + * + *
+   * Optional. Byte content of an unstructured document.
+   * Max size: 4MB
+   * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The inlineContent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getInlineContent() { + if (contentCase_ == 6) { + return (com.google.protobuf.ByteString) content_; + } + return com.google.protobuf.ByteString.EMPTY; + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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 CREATE_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int DOCUMENT_TYPE_FIELD_NUMBER = 4; + private int documentType_ = 0; + + /** + * + * + *
+   * Required. The classification type of the document.
+   * Used to distinguish between different types of documents that may be
+   * attached to a private offer for different business purposes.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for documentType. + */ + @java.lang.Override + public int getDocumentTypeValue() { + return documentType_; + } + + /** + * + * + *
+   * Required. The classification type of the document.
+   * Used to distinguish between different types of documents that may be
+   * attached to a private offer for different business purposes.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The documentType. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType + getDocumentType() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType result = + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType.forNumber( + documentType_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType.UNRECOGNIZED + : result; + } + + public static final int MIME_TYPE_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object mimeType_ = ""; + + /** + * + * + *
+   * Optional. The MIME type of the document.
+   * Used to distinguish between different document formats.
+   * Supported formats (which may be expanded in the future)
+   *
+   * - 'application/pdf'
+   * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The mimeType. + */ + @java.lang.Override + public java.lang.String getMimeType() { + java.lang.Object ref = mimeType_; + 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(); + mimeType_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The MIME type of the document.
+   * Used to distinguish between different document formats.
+   * Supported formats (which may be expanded in the future)
+   *
+   * - 'application/pdf'
+   * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for mimeType. + */ + @java.lang.Override + public com.google.protobuf.ByteString getMimeTypeBytes() { + java.lang.Object ref = mimeType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mimeType_ = 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getUpdateTime()); + } + if (documentType_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType + .DOCUMENT_TYPE_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, documentType_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mimeType_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, mimeType_); + } + if (contentCase_ == 6) { + output.writeBytes(6, (com.google.protobuf.ByteString) content_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getUpdateTime()); + } + if (documentType_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType + .DOCUMENT_TYPE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, documentType_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mimeType_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, mimeType_); + } + if (contentCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeBytesSize( + 6, (com.google.protobuf.ByteString) content_); + } + 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.cloud.commerceproducer.v1beta.PrivateOfferDocument)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument other = + (com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument) obj; + + if (!getName().equals(other.getName())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (documentType_ != other.documentType_) return false; + if (!getMimeType().equals(other.getMimeType())) return false; + if (!getContentCase().equals(other.getContentCase())) return false; + switch (contentCase_) { + case 6: + if (!getInlineContent().equals(other.getInlineContent())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + hash = (37 * hash) + DOCUMENT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + documentType_; + hash = (37 * hash) + MIME_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getMimeType().hashCode(); + switch (contentCase_) { + case 6: + hash = (37 * hash) + INLINE_CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getInlineContent().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument 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.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PrivateOfferDocument 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing the PrivateOfferDocument resource.
+   * Used to attach documents to a private offer in state DRAFT.
+   * Once a private offer is no longer in state DRAFT, the set of child documents
+   * is immutable. Existing documents cannot be updated or deleted, and new
+   * documents cannot be added.
+   *
+   * A private offer must include a EULA, either by assigning a standard EULA
+   * or attaching a custom EULA document, or a statement of work document.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PrivateOfferDocument} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PrivateOfferDocument) + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.class, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + documentType_ = 0; + mimeType_ = ""; + contentCase_ = 0; + content_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument build() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument buildPartial() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument result = + new com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.documentType_ = documentType_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.mimeType_ = mimeType_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument result) { + result.contentCase_ = contentCase_; + result.content_ = this.content_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + if (other.documentType_ != 0) { + setDocumentTypeValue(other.getDocumentTypeValue()); + } + if (!other.getMimeType().isEmpty()) { + mimeType_ = other.mimeType_; + bitField0_ |= 0x00000020; + onChanged(); + } + switch (other.getContentCase()) { + case INLINE_CONTENT: + { + setInlineContent(other.getInlineContent()); + break; + } + case CONTENT_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 32: + { + documentType_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 32 + case 42: + { + mimeType_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 42 + case 50: + { + content_ = input.readBytes(); + contentCase_ = 6; + break; + } // case 50 + 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 contentCase_ = 0; + private java.lang.Object content_; + + public ContentCase getContentCase() { + return ContentCase.forNumber(contentCase_); + } + + public Builder clearContent() { + contentCase_ = 0; + content_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+     * Optional. Byte content of an unstructured document.
+     * Max size: 4MB
+     * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the inlineContent field is set. + */ + public boolean hasInlineContent() { + return contentCase_ == 6; + } + + /** + * + * + *
+     * Optional. Byte content of an unstructured document.
+     * Max size: 4MB
+     * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The inlineContent. + */ + public com.google.protobuf.ByteString getInlineContent() { + if (contentCase_ == 6) { + return (com.google.protobuf.ByteString) content_; + } + return com.google.protobuf.ByteString.EMPTY; + } + + /** + * + * + *
+     * Optional. Byte content of an unstructured document.
+     * Max size: 4MB
+     * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The inlineContent to set. + * @return This builder for chaining. + */ + public Builder setInlineContent(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + contentCase_ = 6; + content_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Byte content of an unstructured document.
+     * Max size: 4MB
+     * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearInlineContent() { + if (contentCase_ == 6) { + contentCase_ = 0; + content_ = null; + onChanged(); + } + return this; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of the resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000004); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The creation time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000008); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The last update time of the resource.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private int documentType_ = 0; + + /** + * + * + *
+     * Required. The classification type of the document.
+     * Used to distinguish between different types of documents that may be
+     * attached to a private offer for different business purposes.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for documentType. + */ + @java.lang.Override + public int getDocumentTypeValue() { + return documentType_; + } + + /** + * + * + *
+     * Required. The classification type of the document.
+     * Used to distinguish between different types of documents that may be
+     * attached to a private offer for different business purposes.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for documentType to set. + * @return This builder for chaining. + */ + public Builder setDocumentTypeValue(int value) { + documentType_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The classification type of the document.
+     * Used to distinguish between different types of documents that may be
+     * attached to a private offer for different business purposes.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The documentType. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType + getDocumentType() { + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType result = + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType.forNumber( + documentType_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Required. The classification type of the document.
+     * Used to distinguish between different types of documents that may be
+     * attached to a private offer for different business purposes.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The documentType to set. + * @return This builder for chaining. + */ + public Builder setDocumentType( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + documentType_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The classification type of the document.
+     * Used to distinguish between different types of documents that may be
+     * attached to a private offer for different business purposes.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearDocumentType() { + bitField0_ = (bitField0_ & ~0x00000010); + documentType_ = 0; + onChanged(); + return this; + } + + private java.lang.Object mimeType_ = ""; + + /** + * + * + *
+     * Optional. The MIME type of the document.
+     * Used to distinguish between different document formats.
+     * Supported formats (which may be expanded in the future)
+     *
+     * - 'application/pdf'
+     * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The mimeType. + */ + public java.lang.String getMimeType() { + java.lang.Object ref = mimeType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mimeType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The MIME type of the document.
+     * Used to distinguish between different document formats.
+     * Supported formats (which may be expanded in the future)
+     *
+     * - 'application/pdf'
+     * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for mimeType. + */ + public com.google.protobuf.ByteString getMimeTypeBytes() { + java.lang.Object ref = mimeType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mimeType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The MIME type of the document.
+     * Used to distinguish between different document formats.
+     * Supported formats (which may be expanded in the future)
+     *
+     * - 'application/pdf'
+     * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The mimeType to set. + * @return This builder for chaining. + */ + public Builder setMimeType(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + mimeType_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The MIME type of the document.
+     * Used to distinguish between different document formats.
+     * Supported formats (which may be expanded in the future)
+     *
+     * - 'application/pdf'
+     * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearMimeType() { + mimeType_ = getDefaultInstance().getMimeType(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The MIME type of the document.
+     * Used to distinguish between different document formats.
+     * Supported formats (which may be expanded in the future)
+     *
+     * - 'application/pdf'
+     * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for mimeType to set. + * @return This builder for chaining. + */ + public Builder setMimeTypeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + mimeType_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PrivateOfferDocument) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PrivateOfferDocument) + private static final com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument(); + } + + public static com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PrivateOfferDocument 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.cloud.commerceproducer.v1beta.PrivateOfferDocument getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentName.java new file mode 100644 index 000000000000..d66981b8b877 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentName.java @@ -0,0 +1,272 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class PrivateOfferDocumentName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_PRIVATE_OFFER_DOCUMENT = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String privateOffer; + private final String document; + + @Deprecated + protected PrivateOfferDocumentName() { + project = null; + location = null; + privateOffer = null; + document = null; + } + + private PrivateOfferDocumentName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + privateOffer = Preconditions.checkNotNull(builder.getPrivateOffer()); + document = Preconditions.checkNotNull(builder.getDocument()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getPrivateOffer() { + return privateOffer; + } + + public String getDocument() { + return document; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static PrivateOfferDocumentName of( + String project, String location, String privateOffer, String document) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setPrivateOffer(privateOffer) + .setDocument(document) + .build(); + } + + public static String format( + String project, String location, String privateOffer, String document) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setPrivateOffer(privateOffer) + .setDocument(document) + .build() + .toString(); + } + + public static @Nullable PrivateOfferDocumentName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_PRIVATE_OFFER_DOCUMENT.validatedMatch( + formattedString, "PrivateOfferDocumentName.parse: formattedString not in valid format"); + return of( + matchMap.get("project"), + matchMap.get("location"), + matchMap.get("private_offer"), + matchMap.get("document")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable PrivateOfferDocumentName> values) { + List list = new ArrayList<>(values.size()); + for (PrivateOfferDocumentName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_PRIVATE_OFFER_DOCUMENT.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (privateOffer != null) { + fieldMapBuilder.put("private_offer", privateOffer); + } + if (document != null) { + fieldMapBuilder.put("document", document); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_PRIVATE_OFFER_DOCUMENT.instantiate( + "project", + project, + "location", + location, + "private_offer", + privateOffer, + "document", + document); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + PrivateOfferDocumentName that = ((PrivateOfferDocumentName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.privateOffer, that.privateOffer) + && Objects.equals(this.document, that.document); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(privateOffer); + h *= 1000003; + h ^= Objects.hashCode(document); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document}. + */ + public static class Builder { + private String project; + private String location; + private String privateOffer; + private String document; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getPrivateOffer() { + return privateOffer; + } + + public String getDocument() { + return document; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setPrivateOffer(String privateOffer) { + this.privateOffer = privateOffer; + return this; + } + + public Builder setDocument(String document) { + this.document = document; + return this; + } + + private Builder(PrivateOfferDocumentName privateOfferDocumentName) { + this.project = privateOfferDocumentName.project; + this.location = privateOfferDocumentName.location; + this.privateOffer = privateOfferDocumentName.privateOffer; + this.document = privateOfferDocumentName.document; + } + + public PrivateOfferDocumentName build() { + return new PrivateOfferDocumentName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentOrBuilder.java new file mode 100644 index 000000000000..2c36329b0be5 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferDocumentOrBuilder.java @@ -0,0 +1,232 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/private_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface PrivateOfferDocumentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOfferDocument) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. Byte content of an unstructured document.
+   * Max size: 4MB
+   * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the inlineContent field is set. + */ + boolean hasInlineContent(); + + /** + * + * + *
+   * Optional. Byte content of an unstructured document.
+   * Max size: 4MB
+   * 
+ * + * bytes inline_content = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The inlineContent. + */ + com.google.protobuf.ByteString getInlineContent(); + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The last update time of the resource.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Required. The classification type of the document.
+   * Used to distinguish between different types of documents that may be
+   * attached to a private offer for different business purposes.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for documentType. + */ + int getDocumentTypeValue(); + + /** + * + * + *
+   * Required. The classification type of the document.
+   * Used to distinguish between different types of documents that may be
+   * attached to a private offer for different business purposes.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType document_type = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The documentType. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.DocumentType getDocumentType(); + + /** + * + * + *
+   * Optional. The MIME type of the document.
+   * Used to distinguish between different document formats.
+   * Supported formats (which may be expanded in the future)
+   *
+   * - 'application/pdf'
+   * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The mimeType. + */ + java.lang.String getMimeType(); + + /** + * + * + *
+   * Optional. The MIME type of the document.
+   * Used to distinguish between different document formats.
+   * Supported formats (which may be expanded in the future)
+   *
+   * - 'application/pdf'
+   * 
+ * + * string mime_type = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for mimeType. + */ + com.google.protobuf.ByteString getMimeTypeBytes(); + + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.ContentCase getContentCase(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferName.java new file mode 100644 index 000000000000..bcb3e0ffc25a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferName.java @@ -0,0 +1,230 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class PrivateOfferName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_PRIVATE_OFFER = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/privateOffers/{private_offer}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String privateOffer; + + @Deprecated + protected PrivateOfferName() { + project = null; + location = null; + privateOffer = null; + } + + private PrivateOfferName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + privateOffer = Preconditions.checkNotNull(builder.getPrivateOffer()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getPrivateOffer() { + return privateOffer; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static PrivateOfferName of(String project, String location, String privateOffer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setPrivateOffer(privateOffer) + .build(); + } + + public static String format(String project, String location, String privateOffer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setPrivateOffer(privateOffer) + .build() + .toString(); + } + + public static @Nullable PrivateOfferName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_PRIVATE_OFFER.validatedMatch( + formattedString, "PrivateOfferName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("private_offer")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable PrivateOfferName> values) { + List list = new ArrayList<>(values.size()); + for (PrivateOfferName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_PRIVATE_OFFER.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (privateOffer != null) { + fieldMapBuilder.put("private_offer", privateOffer); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_PRIVATE_OFFER.instantiate( + "project", project, "location", location, "private_offer", privateOffer); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + PrivateOfferName that = ((PrivateOfferName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.privateOffer, that.privateOffer); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(privateOffer); + return h; + } + + /** Builder for projects/{project}/locations/{location}/privateOffers/{private_offer}. */ + public static class Builder { + private String project; + private String location; + private String privateOffer; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getPrivateOffer() { + return privateOffer; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setPrivateOffer(String privateOffer) { + this.privateOffer = privateOffer; + return this; + } + + private Builder(PrivateOfferName privateOfferName) { + this.project = privateOfferName.project; + this.location = privateOfferName.location; + this.privateOffer = privateOfferName.privateOffer; + } + + public PrivateOfferName build() { + return new PrivateOfferName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferOrBuilder.java new file mode 100644 index 000000000000..527e7c11c9d3 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferOrBuilder.java @@ -0,0 +1,927 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/private_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface PrivateOfferOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PrivateOffer) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the singleProductOffer field is set. + */ + boolean hasSingleProductOffer(); + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The singleProductOffer. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer getSingleProductOffer(); + + /** + * + * + *
+   * Optional. Configurations for the offer that is associated with a single
+   * product.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOffer single_product_offer = 12 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferOrBuilder + getSingleProductOfferOrBuilder(); + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. Name of the resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. The state of the private offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + int getStateValue(); + + /** + * + * + *
+   * Output only. The state of the private offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.State getState(); + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishRequirementGoogleReview field is set. + */ + boolean hasPublishRequirementGoogleReview(); + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishRequirementGoogleReview. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview + getPublishRequirementGoogleReview(); + + /** + * + * + *
+   * Output only. Information about the Google review process.
+   * Present only when the offer is determined to require review by Google.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReview publish_requirement_google_review = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PublishRequirementGoogleReviewOrBuilder + getPublishRequirementGoogleReviewOrBuilder(); + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The creation time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The last update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the publishTime field is set. + */ + boolean hasPublishTime(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The publishTime. + */ + com.google.protobuf.Timestamp getPublishTime(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to PUBLISHED state.
+   * 
+ * + * .google.protobuf.Timestamp publish_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the acceptTime field is set. + */ + boolean hasAcceptTime(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The acceptTime. + */ + com.google.protobuf.Timestamp getAcceptTime(); + + /** + * + * + *
+   * Output only. The time the offer transitioned to ACCEPTED state.
+   * 
+ * + * .google.protobuf.Timestamp accept_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getAcceptTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cancelTime field is set. + */ + boolean hasCancelTime(); + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cancelTime. + */ + com.google.protobuf.Timestamp getCancelTime(); + + /** + * + * + *
+   * Output only. The time the offer transited to CANCELLED state.
+   * 
+ * + * .google.protobuf.Timestamp cancel_time = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCancelTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + boolean hasEndTime(); + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + com.google.protobuf.Timestamp getEndTime(); + + /** + * + * + *
+   * Output only. The time when the offer ended. This can only be set for offers
+   * with `ENDED` state.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 22 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Internal note supplied when the offer was cancelled.
+   * Present only for cancelled offers and only if a note was supplied.
+   * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The cancellationNote. + */ + java.lang.String getCancellationNote(); + + /** + * + * + *
+   * Output only. Internal note supplied when the offer was cancelled.
+   * Present only for cancelled offers and only if a note was supplied.
+   * 
+ * + * string cancellation_note = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for cancellationNote. + */ + com.google.protobuf.ByteString getCancellationNoteBytes(); + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the resellerContact field is set. + */ + boolean hasResellerContact(); + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The resellerContact. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact getResellerContact(); + + /** + * + * + *
+   * Output only. Information about the reseller contact.
+   * Present only for offers created by a reseller.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContact reseller_contact = 20 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactOrBuilder + getResellerContactOrBuilder(); + + /** + * + * + *
+   * Optional. Unstructured text content that is not visible to the customer.
+   * Intended to be used by partners for storing notes about the private offer.
+   * Maximum length: 1500 characters.
+   * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The internalNote. + */ + java.lang.String getInternalNote(); + + /** + * + * + *
+   * Optional. Unstructured text content that is not visible to the customer.
+   * Intended to be used by partners for storing notes about the private offer.
+   * Maximum length: 1500 characters.
+   * 
+ * + * string internal_note = 16 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for internalNote. + */ + com.google.protobuf.ByteString getInternalNoteBytes(); + + /** + * + * + *
+   * Optional. The type of the deal transacted with the offer.
+   *
+   * The deal type is not visible to customers.
+   *
+   * Must be present to publish the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for offerDealType. + */ + int getOfferDealTypeValue(); + + /** + * + * + *
+   * Optional. The type of the deal transacted with the offer.
+   *
+   * The deal type is not visible to customers.
+   *
+   * Must be present to publish the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType offer_deal_type = 21 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The offerDealType. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.OfferDealType getOfferDealType(); + + /** + * + * + *
+   * Optional. A title that describes the offer and helps your customers
+   * identify it. This title will be visible to the customer. Maximum length:
+   * 256 characters. Must be present to publish the offer.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The title. + */ + java.lang.String getTitle(); + + /** + * + * + *
+   * Optional. A title that describes the offer and helps your customers
+   * identify it. This title will be visible to the customer. Maximum length:
+   * 256 characters. Must be present to publish the offer.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for title. + */ + com.google.protobuf.ByteString getTitleBytes(); + + /** + * + * + *
+   * Optional. Unstructured text content that is visible to the customer.
+   * Maximum length: 120 characters.
+   * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The customerNote. + */ + java.lang.String getCustomerNote(); + + /** + * + * + *
+   * Optional. Unstructured text content that is visible to the customer.
+   * Maximum length: 120 characters.
+   * 
+ * + * string customer_note = 17 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for customerNote. + */ + com.google.protobuf.ByteString getCustomerNoteBytes(); + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the partnerContact field is set. + */ + boolean hasPartnerContact(); + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The partnerContact. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact getPartnerContact(); + + /** + * + * + *
+   * Optional. Information about the partner contact.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContact partner_contact = 14 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactOrBuilder + getPartnerContactOrBuilder(); + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the customer field is set. + */ + boolean hasCustomer(); + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The customer. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Customer getCustomer(); + + /** + * + * + *
+   * Optional. Information identifying the intended recipient of the offer.
+   * Must be provided when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Customer customer = 13 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerOrBuilder getCustomerOrBuilder(); + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the acceptDeadlineTime field is set. + */ + boolean hasAcceptDeadlineTime(); + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The acceptDeadlineTime. + */ + com.google.type.DateTime getAcceptDeadlineTime(); + + /** + * + * + *
+   * Optional. Deadline for acceptance of published offers.
+   * A published offer not accepted by this time will expire.
+   * Only day boundaries in the America/Los_Angeles time zone are supported.
+   * Must be present to publish the offer.
+   *
+   * When publishing an offer the deadline must be set to a time in the future
+   * not more than 3 months from the time of publishing. For example, if the
+   * offer is published on 03/05 at 1PM, then the deadline must be at or before
+   * 06/05 12AM America/Los_Angeles time.
+   *
+   * The deadline must also be:
+   *
+   * * Before or equal to the scheduled start time of this offer (if
+   * `term.scheduled_start_time` is set and the term's start policy is
+   * `SCHEDULED_START_TIME`).
+   * * Before or equal to the scheduled end time of this offer, if
+   * `term.scheduled_end_time` is set and the term's end policy is
+   * `SCHEDULED_END_TIME`.
+   * * Before or equal to the upcoming installment start times on this offer.
+   * * Before or equal to the amended offer's end time, if the offer amends
+   * another private or standard offer.
+   * * Before or equal to the start time of the next pending installment of the
+   * amended offer, if amending a private offer with custom installments. For
+   * example, if the amended offer has installments on 01/01, 02/01, 03/01,
+   * 04/01, and today is 02/15, then this offer's `accept_deadline_time`
+   * must be at or before 03/01.
+   *
+   * In addition, if the offer amends another private offer, but there is
+   * already an accepted upcoming amendment against that private offer, then
+   * this deadline must be before or equal to the start time of the accepted
+   * upcoming offer.
+   * For example, today is 02/15, and this offer (offer C) amends private offer
+   * A, and private offer B has already been accepted which also amends private
+   * offer A. Private offer B has a start time of 03/01. Then this deadline
+   * must be at or before 03/01. Otherwise, on 03/01, private offer B would
+   * take effect, superseding offer A. This would mean offer C is no longer
+   * amending the currently active offer (Offer A), which is required for
+   * valid amendments.
+   *
+   * Once the offer is published, this field is still updatable to extend the
+   * deadline of the offer. However, the extension is still limited to be
+   * at most 3 months from the time of publishing.
+   * 
+ * + * .google.type.DateTime accept_deadline_time = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.type.DateTimeOrBuilder getAcceptDeadlineTimeOrBuilder(); + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the term field is set. + */ + boolean hasTerm(); + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The term. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Term getTerm(); + + /** + * + * + *
+   * Optional. Configuration for the offer term.
+   * Must be set when publishing the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer.Term term = 15 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer.TermOrBuilder getTermOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.PrivateOffer.ContentCase getContentCase(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferProto.java new file mode 100644 index 000000000000..6b64f834e09e --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferProto.java @@ -0,0 +1,577 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/private_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class PrivateOfferProto extends com.google.protobuf.GeneratedFile { + private PrivateOfferProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PrivateOfferProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "8google/cloud/commerceproducer/v1beta/private_offer.proto\022$google.cloud.commerc" + + "eproducer.v1beta\032\037google/api/field_behav" + + "ior.proto\032\031google/api/resource.proto\032\037go" + + "ogle/protobuf/timestamp.proto\032\032google/ty" + + "pe/datetime.proto\032\031google/type/decimal.proto\032\027google/type/money.proto\"\267.\n" + + "\014PrivateOffer\022j\n" + + "\024single_product_offer\030\014 \001(\0132E.g" + + "oogle.cloud.commerceproducer.v1beta.PrivateOffer.SingleProductOfferB\003\340A\001H\000\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022L\n" + + "\005state\030\003 \001(\01628.google.cl" + + "oud.commerceproducer.v1beta.PrivateOffer.StateB\003\340A\003\022\201\001\n" + + "!publish_requirement_google_review\030\004 \001(\0132Q.google.cloud.commercep" + + "roducer.v1beta.PrivateOffer.PublishRequirementGoogleReviewB\003\340A\003\0224\n" + + "\013create_time\030\006 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\007 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0225\n" + + "\014publish_time\030\010 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013accept_time\030\t \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013cancel_time\030\n" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n" + + "\010end_time\030\026 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\036\n" + + "\021cancellation_note\030\013 \001(\tB\003\340A\003\022a\n" + + "\020reseller_contact\030\024 " + + "\001(\0132B.google.cloud.commerceproducer.v1beta.PrivateOffer.ResellerContactB\003\340A\003\022\032\n\r" + + "internal_note\030\020 \001(\tB\003\340A\001\022^\n" + + "\017offer_deal_type\030\025 \001(\0162@.google.cloud.commerceproduce" + + "r.v1beta.PrivateOffer.OfferDealTypeB\003\340A\001\022\022\n" + + "\005title\030\002 \001(\tB\003\340A\001\022\032\n\r" + + "customer_note\030\021 \001(\tB\003\340A\001\022_\n" + + "\017partner_contact\030\016 \001(\0132A.goog" + + "le.cloud.commerceproducer.v1beta.PrivateOffer.PartnerContactB\003\340A\001\022R\n" + + "\010customer\030\r" + + " \001(\0132;.google.cloud.commerceproducer.v1beta.PrivateOffer.CustomerB\003\340A\001\0228\n" + + "\024accept_deadline_time\030\005" + + " \001(\0132\025.google.type.DateTimeB\003\340A\001\022J\n" + + "\004term\030\017 \001(\01327.google.cloud.com" + + "merceproducer.v1beta.PrivateOffer.TermB\003\340A\001\032^\n" + + "\036PublishRequirementGoogleReview\022<\n" + + "\023review_approve_time\030\002" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032;\n" + + "\017ResellerContact\022\024\n" + + "\007contact\030\001 \001(\tB\003\340A\003\022\022\n" + + "\005email\030\002 \001(\tB\003\340A\003\032:\n" + + "\016PartnerContact\022\024\n" + + "\007contact\030\001 \001(\tB\003\340A\001\022\022\n" + + "\005email\030\002 \001(\tB\003\340A\001\032\273\001\n" + + "\010Customer\022\031\n" + + "\014entity_title\030\001 \001(\tB\003\340A\001\022\024\n" + + "\007contact\030\002 \001(\tB\003\340A\001\022\022\n" + + "\005email\030\003 \001(\tB\003\340A\001\022\026\n" + + "\007address\030\004 \001(\tB\005\030\001\340A\003\022R\n" + + "\026target_billing_account\030\005 \001(\tB2\340A\001\372A,\n" + + "*cloudbilling.googleapis.com/BillingAccount\032\376\004\n" + + "\004Term\022\036\n" + + "\017duration_months\030\004 \001(\005B\003\340A\001H\000\0228\n" + + "\022scheduled_end_time\030\005" + + " \001(\0132\025.google.type.DateTimeB\003\340A\001H\000\022 \n" + + "\021max_renewal_count\030\006 \001(\005B\003\340A\001H\001\022\"\n" + + "\021unlimited_renewal\030\007 \001(\010B\005\030\001\340A\003H\001\022^\n" + + "\014start_policy\030\001 \001(" + + "\0162C.google.cloud.commerceproducer.v1beta.PrivateOffer.Term.StartPolicyB\003\340A\001\0228\n" + + "\024scheduled_start_time\030\002" + + " \001(\0132\025.google.type.DateTimeB\003\340A\001\022Z\n\n" + + "end_policy\030\003 \001(\0162A.goog" + + "le.cloud.commerceproducer.v1beta.PrivateOffer.Term.EndPolicyB\003\340A\001\"T\n" + + "\013StartPolicy\022\034\n" + + "\030START_POLICY_UNSPECIFIED\020\000\022\r\n" + + "\tIMMEDIATE\020\001\022\030\n" + + "\024SCHEDULED_START_TIME\020\002\"l\n" + + "\tEndPolicy\022\032\n" + + "\026END_POLICY_UNSPECIFIED\020\000\022\022\n" + + "\016AFTER_DURATION\020\001\022\026\n" + + "\022SCHEDULED_END_TIME\020\002\022\027\n" + + "\023MATCH_AMENDED_OFFER\020\003B\021\n" + + "\017end_policy_dataB\t\n" + + "\007renewal\032\375\030\n" + + "\022SingleProductOffer\022U\n" + + "\025amended_private_offer\030\003 \001(\tB4\340A\001\372A.\n" + + ",commerceproducer.googleapis.com/PrivateOfferH\000\022W\n" + + "\026amended_standard_offer\030\004 \001(\tB5\340A\001\372A/\n" + + "-commerceproducer.googleapis.com/StandardOfferH\000\022\203\001\n" + + "\027standard_interval_price\030\005 \001(\0132[.google.cloud.commerceproducer.v1b" + + "eta.PrivateOffer.SingleProductOffer.StandardIntervalPriceB\003\340A\001H\001\022\177\n" + + "\025custom_interval_price\030\006 \001(\0132Y.google.cloud.commercep" + + "roducer.v1beta.PrivateOffer.SingleProductOffer.CustomIntervalPriceB\003\340A\001H\001\022R\n" + + "\023base_standard_offer\030\001 \001(\tB5\340A\001\372A/\n" + + "-commerceproducer.googleapis.com/StandardOffer\022\032\n" + + "\r" + + "service_level\030\002 \001(\tB\003\340A\003\022+\n" + + "\036reseller_private_offer_plan_id\030\n" + + " \001(\tB\003\340A\003\022d\n" + + "\010features\030\010 \003(\0132M.google.cloud.commerceproducer" + + ".v1beta.PrivateOffer.SingleProductOffer.FeatureB\003\340A\001\022~\n" + + "\036effective_installment_timeline\030\007 \003(\0132Q.google.cloud.commerceprod" + + "ucer.v1beta.PrivateOffer.SingleProductOffer.InstallmentB\003\340A\003\022p\n" + + "\016contract_value\030\013 \001(\0132S.google.cloud.commerceproducer.v1b" + + "eta.PrivateOffer.SingleProductOffer.ContractValueB\003\340A\003\022n\n\r" + + "revenue_share\030\014 \001(\0132R.google.cloud.commerceproducer.v1beta.Pri" + + "vateOffer.SingleProductOffer.RevenueShareB\003\340A\003\0328\n" + + "\007Feature\022\031\n" + + "\014display_name\030\001 \001(\tB\003\340A\001\022\022\n" + + "\005value\030\002 \001(\tB\003\340A\001\032\210\010\n\n" + + "PriceModel\022q\n" + + "\010flat_fee\030\002 \001(\0132X.google.cloud.commerc" + + "eproducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.FlatFeeB\003\340A\001H\000\022v\n\n" + + "commitment\030\003 \001(\0132[.google.cloud.commercepr" + + "oducer.v1beta.PrivateOffer.SingleProductOffer.PriceModel.CommitmentB\003\340A\001H\000\022j\n" + + "\005usage\030\001 \001(\0132V.google.cloud.commerceproduce" + + "r.v1beta.PrivateOffer.SingleProductOffer.PriceModel.UsageB\003\340A\001\032\270\001\n" + + "\013SkuDiscount\022:\n" + + "\003sku\030\001 \001(\tB+\340A\001\372A%\n" + + "#commerceproducer.googleapis.com/SkuH\000\022 \n" + + "\021cloud_billing_sku\030\003 \001(\tB\003\340A\001H\000\0225\n" + + "\020discount_percent\030\002" + + " \001(\0132\024.google.type.DecimalB\003\340A\001H\001B\010\n" + + "\006targetB\n\n" + + "\010discount\032\276\001\n" + + "\005Usage\022;\n" + + "\030default_discount_percent\030\001" + + " \001(\0132\024.google.type.DecimalB\003\340A\001\022x\n\r" + + "sku_discounts\030\002 \003(\0132\\.google.cloud.c" + + "ommerceproducer.v1beta.PrivateOffer.Sing" + + "leProductOffer.PriceModel.SkuDiscountB\003\340A\001\032=\n" + + "\007FlatFee\0222\n" + + "\021flat_fee_override\030\001" + + " \001(\0132\022.google.type.MoneyB\003\340A\001\032\327\001\n\n" + + "Commitment\0222\n" + + "\021commitment_amount\030\001 \001(\0132\022.google.type.MoneyB\003\340A\001\0223\n" + + "\020discount_percent\030\002 \001(\0132\024.google.type.DecimalB\003\340A\001\0222\n" + + "\021additional_credit\030\003 \001(\0132\022.google.type.MoneyB\003\340A\001\022,\n" + + "\037discard_previous_credit_balance\030\004 \001(\010B\003\340A\001B\016\n" + + "\014subscription\032\310\003\n" + + "\025StandardIntervalPrice\022\214\001\n" + + "\021standard_interval\030\001 \001(\0162l.google.cloud.commerceproducer.v1beta.Private" + + "Offer.SingleProductOffer.StandardIntervalPrice.StandardIntervalB\003\340A\001\022j\n" + + "\013price_model\030\002 \001(\0132P.google.cloud.commerceproduce" + + "r.v1beta.PrivateOffer.SingleProductOffer.PriceModelB\003\340A\001\"\263\001\n" + + "\020StandardInterval\022!\n" + + "\035STANDARD_INTERVAL_UNSPECIFIED\020\000\022\027\n" + + "\017MONTHLY_POSTPAY\020\001\032\002\010\001\022\024\n" + + "\020MONTHLY_PRORATED\020\002\022\030\n" + + "\024MONTHLY_NOT_PRORATED\020\003\022\032\n" + + "\026QUARTERLY_NOT_PRORATED\020\004\022\027\n" + + "\023YEARLY_NOT_PRORATED\020\005\032\251\001\n" + + "\013Installment\022.\n\n" + + "start_time\030\001 \001(\0132\025.google.type.DateTimeB\003\340A\001\022j\n" + + "\013price_model\030\002 \001(\0132P.google.cloud.commerceproducer.v1be" + + "ta.PrivateOffer.SingleProductOffer.PriceModelB\003\340A\001\032\203\001\n" + + "\023CustomIntervalPrice\022l\n" + + "\014installments\030\001 \003(\0132Q.google.cloud.commerce" + + "producer.v1beta.PrivateOffer.SingleProductOffer.InstallmentB\003\340A\001\032F\n\r" + + "ContractValue\0225\n" + + "\024total_contract_value\030\001" + + " \001(\0132\022.google.type.MoneyB\003\340A\003\032\246\001\n" + + "\014RevenueShare\022J\n" + + "\'current_term_vendor_net_revenue_percent\030\001" + + " \001(\0132\024.google.type.DecimalB\003\340A\003\022J\n" + + "\'renewal_term_vendor_net_revenue_percent\030\002" + + " \001(\0132\024.google.type.DecimalB\003\340A\003B\017\n\r" + + "amended_offerB\007\n" + + "\005price\"}\n" + + "\005State\022\025\n" + + "\021STATE_UNSPECIFIED\020\000\022\t\n" + + "\005DRAFT\020\001\022\016\n\n" + + "PUBLISHING\020\002\022\r\n" + + "\tPUBLISHED\020\003\022\014\n" + + "\010ACCEPTED\020\004\022\r\n" + + "\tCANCELLED\020\005\022\013\n" + + "\007EXPIRED\020\006\022\t\n" + + "\005ENDED\020\007\"o\n\r" + + "OfferDealType\022\037\n" + + "\033OFFER_DEAL_TYPE_UNSPECIFIED\020\000\022\021\n\r" + + "CHANNEL_SHIFT\020\001\022\r\n" + + "\tMIGRATION\020\002\022\022\n" + + "\016NATIVE_RENEWAL\020\003\022\007\n" + + "\003NEW\020\004:\226\001\352A\222\001\n" + + ",commerceproducer.googleapis.com/PrivateOffer\022Eprojects/{proj" + + "ect}/locations/{location}/privateOffers/{private_offer}*\r" + + "privateOffers2\014privateOfferB\t\n" + + "\007content\"\310\005\n" + + "\024PrivateOfferDocument\022\035\n" + + "\016inline_content\030\006 \001(\014B\003\340A\001H\000\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\0224\n" + + "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\003" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022c\n\r" + + "document_type\030\004 \001(\0162G.google.cloud.com" + + "merceproducer.v1beta.PrivateOfferDocument.DocumentTypeB\003\340A\002\022\026\n" + + "\tmime_type\030\005 \001(\tB\003\340A\001\"\303\001\n" + + "\014DocumentType\022\035\n" + + "\031DOCUMENT_TYPE_UNSPECIFIED\020\000\022%\n" + + "!CUSTOM_END_USER_LICENSE_AGREEMENT\020\001\022\025\n" + + "\021STATEMENT_OF_WORK\020\002\022*\n" + + "&STANDARD_END_USER_LICENSE_AGREEMENT_V1\020\003\022*\n" + + "&STANDARD_END_USER_LICENSE_AGREEMENT_V2\020\004:\303\001\352A\277\001\n" + + "4commerceproducer.googleapis.com/PrivateOfferDocument\022Zprojects/{projec" + + "t}/locations/{location}/privateOffers/{private_offer}/documents/{document}*\025priv" + + "ateOfferDocuments2\024privateOfferDocumentB\t\n" + + "\007contentB\274\001\n" + + "(com.google.cloud.commerceproducer.v1betaB\021PrivateOfferProtoP\001ZTcl" + + "oud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducer" + + "pb\252\002$Google.Cloud.CommerceProducer.V1Betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + com.google.type.DateTimeProto.getDescriptor(), + com.google.type.DecimalProto.getDescriptor(), + com.google.type.MoneyProto.getDescriptor(), + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor, + new java.lang.String[] { + "SingleProductOffer", + "Name", + "State", + "PublishRequirementGoogleReview", + "CreateTime", + "UpdateTime", + "PublishTime", + "AcceptTime", + "CancelTime", + "EndTime", + "CancellationNote", + "ResellerContact", + "InternalNote", + "OfferDealType", + "Title", + "CustomerNote", + "PartnerContact", + "Customer", + "AcceptDeadlineTime", + "Term", + "Content", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 0); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PublishRequirementGoogleReview_descriptor, + new java.lang.String[] { + "ReviewApproveTime", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 1); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_ResellerContact_descriptor, + new java.lang.String[] { + "Contact", "Email", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 2); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_PartnerContact_descriptor, + new java.lang.String[] { + "Contact", "Email", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 3); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Customer_descriptor, + new java.lang.String[] { + "EntityTitle", "Contact", "Email", "Address", "TargetBillingAccount", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 4); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_Term_descriptor, + new java.lang.String[] { + "DurationMonths", + "ScheduledEndTime", + "MaxRenewalCount", + "UnlimitedRenewal", + "StartPolicy", + "ScheduledStartTime", + "EndPolicy", + "EndPolicyData", + "Renewal", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_descriptor.getNestedType( + 5); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor, + new java.lang.String[] { + "AmendedPrivateOffer", + "AmendedStandardOffer", + "StandardIntervalPrice", + "CustomIntervalPrice", + "BaseStandardOffer", + "ServiceLevel", + "ResellerPrivateOfferPlanId", + "Features", + "EffectiveInstallmentTimeline", + "ContractValue", + "RevenueShare", + "AmendedOffer", + "Price", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Feature_descriptor, + new java.lang.String[] { + "DisplayName", "Value", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(1); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor, + new java.lang.String[] { + "FlatFee", "Commitment", "Usage", "Subscription", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_SkuDiscount_descriptor, + new java.lang.String[] { + "Sku", "CloudBillingSku", "DiscountPercent", "Target", "Discount", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor + .getNestedType(1); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Usage_descriptor, + new java.lang.String[] { + "DefaultDiscountPercent", "SkuDiscounts", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor + .getNestedType(2); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_FlatFee_descriptor, + new java.lang.String[] { + "FlatFeeOverride", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_descriptor + .getNestedType(3); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_PriceModel_Commitment_descriptor, + new java.lang.String[] { + "CommitmentAmount", + "DiscountPercent", + "AdditionalCredit", + "DiscardPreviousCreditBalance", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(2); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_StandardIntervalPrice_descriptor, + new java.lang.String[] { + "StandardInterval", "PriceModel", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(3); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_Installment_descriptor, + new java.lang.String[] { + "StartTime", "PriceModel", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(4); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_CustomIntervalPrice_descriptor, + new java.lang.String[] { + "Installments", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(5); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_ContractValue_descriptor, + new java.lang.String[] { + "TotalContractValue", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_descriptor + .getNestedType(6); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOffer_SingleProductOffer_RevenueShare_descriptor, + new java.lang.String[] { + "CurrentTermVendorNetRevenuePercent", "RenewalTermVendorNetRevenuePercent", + }); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_PrivateOfferDocument_descriptor, + new java.lang.String[] { + "InlineContent", + "Name", + "CreateTime", + "UpdateTime", + "DocumentType", + "MimeType", + "Content", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.type.DateTimeProto.getDescriptor(); + com.google.type.DecimalProto.getDescriptor(); + com.google.type.MoneyProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferView.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferView.java new file mode 100644 index 000000000000..6b31b9d6c538 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PrivateOfferView.java @@ -0,0 +1,198 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Controls which fields are returned in a PrivateOffer returned by the API.
+ * https://google.aip.dev/157
+ * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.PrivateOfferView} + */ +@com.google.protobuf.Generated +public enum PrivateOfferView implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * PRIVATE_OFFER_VIEW_UNSPECIFIED = 0; + */ + PRIVATE_OFFER_VIEW_UNSPECIFIED(0), + /** + * + * + *
+   * Include basic metadata about the PrivateOffer, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * PRIVATE_OFFER_VIEW_BASIC = 1; + */ + PRIVATE_OFFER_VIEW_BASIC(1), + /** + * + * + *
+   * Include everything.
+   * 
+ * + * PRIVATE_OFFER_VIEW_FULL = 2; + */ + PRIVATE_OFFER_VIEW_FULL(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PrivateOfferView"); + } + + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * PRIVATE_OFFER_VIEW_UNSPECIFIED = 0; + */ + public static final int PRIVATE_OFFER_VIEW_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+   * Include basic metadata about the PrivateOffer, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * PRIVATE_OFFER_VIEW_BASIC = 1; + */ + public static final int PRIVATE_OFFER_VIEW_BASIC_VALUE = 1; + + /** + * + * + *
+   * Include everything.
+   * 
+ * + * PRIVATE_OFFER_VIEW_FULL = 2; + */ + public static final int PRIVATE_OFFER_VIEW_FULL_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static PrivateOfferView valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static PrivateOfferView forNumber(int value) { + switch (value) { + case 0: + return PRIVATE_OFFER_VIEW_UNSPECIFIED; + case 1: + return PRIVATE_OFFER_VIEW_BASIC; + case 2: + return PRIVATE_OFFER_VIEW_FULL; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PrivateOfferView findValueByNumber(int number) { + return PrivateOfferView.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final PrivateOfferView[] VALUES = values(); + + public static PrivateOfferView valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private PrivateOfferView(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.PrivateOfferView) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequest.java new file mode 100644 index 000000000000..99ffdd127966 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequest.java @@ -0,0 +1,719 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for publishing a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class PublishPrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) + PublishPrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PublishPrivateOfferRequest"); + } + + // Use PublishPrivateOfferRequest.newBuilder() to construct. + private PublishPrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PublishPrivateOfferRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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 VALIDATE_ONLY_FIELD_NUMBER = 2; + private boolean validateOnly_ = false; + + /** + * + * + *
+   * Optional. If set to `true`, validates the request but does not execute it.
+   * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (validateOnly_ != false) { + output.writeBool(2, validateOnly_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (validateOnly_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, validateOnly_); + } + 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.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (getValidateOnly() != other.getValidateOnly()) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + VALIDATE_ONLY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getValidateOnly()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest 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.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for publishing a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + validateOnly_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_PublishPrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.validateOnly_ = validateOnly_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + .getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getValidateOnly() != false) { + setValidateOnly(other.getValidateOnly()); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + validateOnly_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @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; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean validateOnly_; + + /** + * + * + *
+     * Optional. If set to `true`, validates the request but does not execute it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + @java.lang.Override + public boolean getValidateOnly() { + return validateOnly_; + } + + /** + * + * + *
+     * Optional. If set to `true`, validates the request but does not execute it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The validateOnly to set. + * @return This builder for chaining. + */ + public Builder setValidateOnly(boolean value) { + + validateOnly_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If set to `true`, validates the request but does not execute it.
+     * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearValidateOnly() { + bitField0_ = (bitField0_ & ~0x00000002); + validateOnly_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PublishPrivateOfferRequest 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.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..3a5a7225ebba --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/PublishPrivateOfferRequestOrBuilder.java @@ -0,0 +1,71 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface PublishPrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. If set to `true`, validates the request but does not execute it.
+   * 
+ * + * bool validate_only = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The validateOnly. + */ + boolean getValidateOnly(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Service.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Service.java new file mode 100644 index 000000000000..4030d02b26c6 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Service.java @@ -0,0 +1,799 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing Service resource.
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Service} + */ +@com.google.protobuf.Generated +public final class Service extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Service) + ServiceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Service"); + } + + // Use Service.newBuilder() to construct. + private Service(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Service() { + name_ = ""; + title_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.ServiceProto + .internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.ServiceProto + .internal_static_google_cloud_commerceproducer_v1beta_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Service.class, + com.google.cloud.commerceproducer.v1beta.Service.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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 TITLE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object title_ = ""; + + /** + * + * + *
+   * Output only. Title of the service.
+   *
+   * Not included for `SERVICE_VIEW_BASIC`.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + @java.lang.Override + public java.lang.String getTitle() { + java.lang.Object ref = title_; + 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(); + title_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Title of the service.
+   *
+   * Not included for `SERVICE_VIEW_BASIC`.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, title_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, title_); + } + 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.cloud.commerceproducer.v1beta.Service)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Service other = + (com.google.cloud.commerceproducer.v1beta.Service) obj; + + if (!getName().equals(other.getName())) return false; + if (!getTitle().equals(other.getTitle())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + TITLE_FIELD_NUMBER; + hash = (53 * hash) + getTitle().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Service 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.cloud.commerceproducer.v1beta.Service parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Service parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Service 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing Service resource.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Service} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Service) + com.google.cloud.commerceproducer.v1beta.ServiceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.ServiceProto + .internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.ServiceProto + .internal_static_google_cloud_commerceproducer_v1beta_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Service.class, + com.google.cloud.commerceproducer.v1beta.Service.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.Service.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + title_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.ServiceProto + .internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Service getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Service.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Service build() { + com.google.cloud.commerceproducer.v1beta.Service result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Service buildPartial() { + com.google.cloud.commerceproducer.v1beta.Service result = + new com.google.cloud.commerceproducer.v1beta.Service(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.Service result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.title_ = title_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.Service) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.Service) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.Service other) { + if (other == com.google.cloud.commerceproducer.v1beta.Service.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getTitle().isEmpty()) { + title_ = other.title_; + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + title_ = 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 name_ = ""; + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object title_ = ""; + + /** + * + * + *
+     * Output only. Title of the service.
+     *
+     * Not included for `SERVICE_VIEW_BASIC`.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + public java.lang.String getTitle() { + java.lang.Object ref = title_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + title_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Title of the service.
+     *
+     * Not included for `SERVICE_VIEW_BASIC`.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Title of the service.
+     *
+     * Not included for `SERVICE_VIEW_BASIC`.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The title to set. + * @return This builder for chaining. + */ + public Builder setTitle(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + title_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Title of the service.
+     *
+     * Not included for `SERVICE_VIEW_BASIC`.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTitle() { + title_ = getDefaultInstance().getTitle(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Title of the service.
+     *
+     * Not included for `SERVICE_VIEW_BASIC`.
+     * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for title to set. + * @return This builder for chaining. + */ + public Builder setTitleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + title_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Service) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Service) + private static final com.google.cloud.commerceproducer.v1beta.Service DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.Service(); + } + + public static com.google.cloud.commerceproducer.v1beta.Service getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Service 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.cloud.commerceproducer.v1beta.Service getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceName.java new file mode 100644 index 000000000000..05932b80d4b3 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceName.java @@ -0,0 +1,226 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class ServiceName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SERVICE = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/services/{service}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String service; + + @Deprecated + protected ServiceName() { + project = null; + location = null; + service = null; + } + + private ServiceName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + service = Preconditions.checkNotNull(builder.getService()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static ServiceName of(String project, String location, String service) { + return newBuilder().setProject(project).setLocation(location).setService(service).build(); + } + + public static String format(String project, String location, String service) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .build() + .toString(); + } + + public static @Nullable ServiceName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_SERVICE.validatedMatch( + formattedString, "ServiceName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("service")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable ServiceName> values) { + List list = new ArrayList<>(values.size()); + for (ServiceName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SERVICE.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (service != null) { + fieldMapBuilder.put("service", service); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_SERVICE.instantiate( + "project", project, "location", location, "service", service); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + ServiceName that = ((ServiceName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.service, that.service); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(service); + return h; + } + + /** Builder for projects/{project}/locations/{location}/services/{service}. */ + public static class Builder { + private String project; + private String location; + private String service; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setService(String service) { + this.service = service; + return this; + } + + private Builder(ServiceName serviceName) { + this.project = serviceName.project; + this.location = serviceName.location; + this.service = serviceName.service; + } + + public ServiceName build() { + return new ServiceName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceOrBuilder.java new file mode 100644 index 000000000000..ab27624c014d --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceOrBuilder.java @@ -0,0 +1,84 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface ServiceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Service) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. Title of the service.
+   *
+   * Not included for `SERVICE_VIEW_BASIC`.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + java.lang.String getTitle(); + + /** + * + * + *
+   * Output only. Title of the service.
+   *
+   * Not included for `SERVICE_VIEW_BASIC`.
+   * 
+ * + * string title = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + com.google.protobuf.ByteString getTitleBytes(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceProto.java new file mode 100644 index 000000000000..ffd0a30d020c --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceProto.java @@ -0,0 +1,95 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class ServiceProto extends com.google.protobuf.GeneratedFile { + private ServiceProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ServiceProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Service_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "2google/cloud/commerceproducer/v1beta/service.proto\022$google.cloud.commerceprodu" + + "cer.v1beta\032\037google/api/field_behavior.proto\032\031google/api/resource.proto\"\255\001\n" + + "\007Service\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\022\n" + + "\005title\030\002 \001(\tB\003\340A\003:{\352Ax\n" + + "\'commerceproducer.googleapis.com/Service\022:projects/{project}/locations/{l" + + "ocation}/services/{service}*\010services2\007serviceB\267\001\n" + + "(com.google.cloud.commerceproducer.v1betaB\014ServiceProtoP\001ZTcloud.googl" + + "e.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\252\002$Goog" + + "le.Cloud.CommerceProducer.V1Betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + }); + internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_commerceproducer_v1beta_Service_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Service_descriptor, + new java.lang.String[] { + "Name", "Title", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceView.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceView.java new file mode 100644 index 000000000000..f70f18466b56 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/ServiceView.java @@ -0,0 +1,198 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Controls which fields are returned in a Service returned by the API.
+ * https://google.aip.dev/157
+ * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.ServiceView} + */ +@com.google.protobuf.Generated +public enum ServiceView implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * SERVICE_VIEW_UNSPECIFIED = 0; + */ + SERVICE_VIEW_UNSPECIFIED(0), + /** + * + * + *
+   * Include basic metadata about the Service, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * SERVICE_VIEW_BASIC = 1; + */ + SERVICE_VIEW_BASIC(1), + /** + * + * + *
+   * Include everything.
+   * 
+ * + * SERVICE_VIEW_FULL = 2; + */ + SERVICE_VIEW_FULL(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ServiceView"); + } + + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * SERVICE_VIEW_UNSPECIFIED = 0; + */ + public static final int SERVICE_VIEW_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+   * Include basic metadata about the Service, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * SERVICE_VIEW_BASIC = 1; + */ + public static final int SERVICE_VIEW_BASIC_VALUE = 1; + + /** + * + * + *
+   * Include everything.
+   * 
+ * + * SERVICE_VIEW_FULL = 2; + */ + public static final int SERVICE_VIEW_FULL_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ServiceView valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static ServiceView forNumber(int value) { + switch (value) { + case 0: + return SERVICE_VIEW_UNSPECIFIED; + case 1: + return SERVICE_VIEW_BASIC; + case 2: + return SERVICE_VIEW_FULL; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ServiceView findValueByNumber(int number) { + return ServiceView.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto.getDescriptor() + .getEnumTypes() + .get(2); + } + + private static final ServiceView[] VALUES = values(); + + public static ServiceView valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ServiceView(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.ServiceView) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Sku.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Sku.java new file mode 100644 index 000000000000..42707c392afb --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/Sku.java @@ -0,0 +1,35296 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing the Sku resource.
+ *
+ * Encapsulates and represents a stock keeping unit (SKU), the atomic unit of
+ * pricing and billing in Google Cloud. Each customer charge is associated with
+ * and originates from exactly one SKU. While the Cloud Marketplace Sku resource
+ * shares a close relationship with the public [Sku resource in the Cloud
+ * Billing
+ * API](https://cloud.google.com/billing/docs/how-to/get-pricing-information-api),
+ * Cloud Marketplace SKUs are represented here with additional information in
+ * an alternative format tailored for use by Cloud Marketplace partners, and are
+ * not necessarily public and by extension are not generally visible in the
+ * Cloud Billing API or the [Google Cloud Public
+ * SKUs](https://cloud.google.com/skus).
+ *
+ * Note on terminology: While the name of the resource derives from the acronym
+ * 'SKU' it is named 'Sku' for consistency with other resource type names, and
+ * may be rendered variously as 'Sku', 'sku', or 'SKU' across this and other
+ * documentation.
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku} + */ +@com.google.protobuf.Generated +public final class Sku extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku) + SkuOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Sku"); + } + + // Use Sku.newBuilder() to construct. + private Sku(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Sku() { + name_ = ""; + description_ = ""; + skuPriceTimeline_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.class, + com.google.cloud.commerceproducer.v1beta.Sku.Builder.class); + } + + public interface SkuPriceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inactive field is set. + */ + boolean hasInactive(); + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inactive. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice getInactive(); + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder + getInactiveOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the managedServiceMetricUsageFee field is set. + */ + boolean hasManagedServiceMetricUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The managedServiceMetricUsageFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + getManagedServiceMetricUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFeeOrBuilder + getManagedServiceMetricUsageFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gceLicenseUsageFee field is set. + */ + boolean hasGceLicenseUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gceLicenseUsageFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + getGceLicenseUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFeeOrBuilder + getGceLicenseUsageFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gkePodUsageFee field is set. + */ + boolean hasGkePodUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gkePodUsageFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + getGkePodUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFeeOrBuilder + getGkePodUsageFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformManagedModelUsageFee field is set. + */ + boolean hasAiPlatformManagedModelUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformManagedModelUsageFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + getAiPlatformManagedModelUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFeeOrBuilder + getAiPlatformManagedModelUsageFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformProvisionedThroughputFee field is set. + */ + boolean hasAiPlatformProvisionedThroughputFee(); + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformProvisionedThroughputFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + getAiPlatformProvisionedThroughputFee(); + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder + getAiPlatformProvisionedThroughputFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformDeployedModelUsageFee field is set. + */ + boolean hasAiPlatformDeployedModelUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformDeployedModelUsageFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + getAiPlatformDeployedModelUsageFee(); + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFeeOrBuilder + getAiPlatformDeployedModelUsageFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatSubscriptionFee field is set. + */ + boolean hasFlatSubscriptionFee(); + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatSubscriptionFee. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getFlatSubscriptionFee(); + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder + getFlatSubscriptionFeeOrBuilder(); + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + boolean hasEffectiveTime(); + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + com.google.protobuf.Timestamp getEffectiveTime(); + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.SkuTypeCase getSkuTypeCase(); + } + + /** + * + * + *
+   * The price of the SKU, active during a particular time range.
+   * Prices are in all cases in USD. Customers are billed in the currency of
+   * their billing account, subject to the currency conversion rate in effect
+   * at the time.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice} + */ + public static final class SkuPrice extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice) + SkuPriceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuPrice"); + } + + // Use SkuPrice.newBuilder() to construct. + private SkuPrice(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SkuPrice() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder.class); + } + + public interface InactiveSkuPriceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + com.google.protobuf.MessageOrBuilder {} + + /** + * + * + *
+     * Representation for a SKU that is not active and has no price.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice} + */ + public static final class InactiveSkuPrice extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + InactiveSkuPriceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "InactiveSkuPrice"); + } + + // Use InactiveSkuPrice.newBuilder() to construct. + private InactiveSkuPrice(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private InactiveSkuPrice() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder + .class); + } + + 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 { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) obj; + + 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 = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Representation for a SKU that is not active and has no price.
+       * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance()) return this; + 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; + 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; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InactiveSkuPrice 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ManagedServiceMetricUsageFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + boolean hasTieredPrice(); + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice(); + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder(); + + /** + * + * + *
+       * Output only. The name of the metric, in canonical format.
+       *
+       * Note that in the canonical format the first character of the path
+       * component of the metric name is always uppercase, which may differ
+       * from the metric name in the service config. For example, a metric
+       * appearing in the service config as 'example.com/example_metric' will
+       * appear here in the SKU as 'example.com/Example_metric'. In the Service
+       * Management and Service Control APIs these two metric names are
+       * considered distinct, either or both may be defined, and usage must be
+       * reported using a name matching the name of a metric defined in the
+       * service config. But for billing purposes usage reported using either
+       * name will be aggregated under the canonical metric name.
+       *
+       * Example: "example.com/Example_metric"
+       * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The canonicalMetric. + */ + java.lang.String getCanonicalMetric(); + + /** + * + * + *
+       * Output only. The name of the metric, in canonical format.
+       *
+       * Note that in the canonical format the first character of the path
+       * component of the metric name is always uppercase, which may differ
+       * from the metric name in the service config. For example, a metric
+       * appearing in the service config as 'example.com/example_metric' will
+       * appear here in the SKU as 'example.com/Example_metric'. In the Service
+       * Management and Service Control APIs these two metric names are
+       * considered distinct, either or both may be defined, and usage must be
+       * reported using a name matching the name of a metric defined in the
+       * service config. But for billing purposes usage reported using either
+       * name will be aggregated under the canonical metric name.
+       *
+       * Example: "example.com/Example_metric"
+       * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for canonicalMetric. + */ + com.google.protobuf.ByteString getCanonicalMetricBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing usage of a [partner-reported custom billing
+     * metric](https://cloud.google.com/service-infrastructure/docs/reporting-billing-metrics)
+     * defined by the partner in the Service Management API and reported using
+     * the Service Control API.
+     *
+     * The customer's usage charge is computed by converting the customer's
+     * reported consumption to the SKU's composite price unit and applying the
+     * graduated price from the appropriate price tier.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee} + */ + public static final class ManagedServiceMetricUsageFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + ManagedServiceMetricUsageFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ManagedServiceMetricUsageFee"); + } + + // Use ManagedServiceMetricUsageFee.newBuilder() to construct. + private ManagedServiceMetricUsageFee( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ManagedServiceMetricUsageFee() { + canonicalMetric_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder.class); + } + + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + TIERED_PRICE(2), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 2: + return TIERED_PRICE; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int TIERED_PRICE_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + @java.lang.Override + public boolean hasTieredPrice() { + return priceStructureCase_ == 2; + } + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice() { + if (priceStructureCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder() { + if (priceStructureCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + + public static final int CANONICAL_METRIC_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object canonicalMetric_ = ""; + + /** + * + * + *
+       * Output only. The name of the metric, in canonical format.
+       *
+       * Note that in the canonical format the first character of the path
+       * component of the metric name is always uppercase, which may differ
+       * from the metric name in the service config. For example, a metric
+       * appearing in the service config as 'example.com/example_metric' will
+       * appear here in the SKU as 'example.com/Example_metric'. In the Service
+       * Management and Service Control APIs these two metric names are
+       * considered distinct, either or both may be defined, and usage must be
+       * reported using a name matching the name of a metric defined in the
+       * service config. But for billing purposes usage reported using either
+       * name will be aggregated under the canonical metric name.
+       *
+       * Example: "example.com/Example_metric"
+       * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The canonicalMetric. + */ + @java.lang.Override + public java.lang.String getCanonicalMetric() { + java.lang.Object ref = canonicalMetric_; + 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(); + canonicalMetric_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The name of the metric, in canonical format.
+       *
+       * Note that in the canonical format the first character of the path
+       * component of the metric name is always uppercase, which may differ
+       * from the metric name in the service config. For example, a metric
+       * appearing in the service config as 'example.com/example_metric' will
+       * appear here in the SKU as 'example.com/Example_metric'. In the Service
+       * Management and Service Control APIs these two metric names are
+       * considered distinct, either or both may be defined, and usage must be
+       * reported using a name matching the name of a metric defined in the
+       * service config. But for billing purposes usage reported using either
+       * name will be aggregated under the canonical metric name.
+       *
+       * Example: "example.com/Example_metric"
+       * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for canonicalMetric. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCanonicalMetricBytes() { + java.lang.Object ref = canonicalMetric_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + canonicalMetric_ = 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.GeneratedMessage.isStringEmpty(canonicalMetric_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, canonicalMetric_); + } + if (priceStructureCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(canonicalMetric_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, canonicalMetric_); + } + if (priceStructureCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + obj; + + if (!getCanonicalMetric().equals(other.getCanonicalMetric())) return false; + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 2: + if (!getTieredPrice().equals(other.getTieredPrice())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + CANONICAL_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getCanonicalMetric().hashCode(); + switch (priceStructureCase_) { + case 2: + hash = (37 * hash) + TIERED_PRICE_FIELD_NUMBER; + hash = (53 * hash) + getTieredPrice().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing usage of a [partner-reported custom billing
+       * metric](https://cloud.google.com/service-infrastructure/docs/reporting-billing-metrics)
+       * defined by the partner in the Service Management API and reported using
+       * the Service Control API.
+       *
+       * The customer's usage charge is computed by converting the customer's
+       * reported consumption to the SKU's composite price unit and applying the
+       * graduated price from the appropriate price tier.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (tieredPriceBuilder_ != null) { + tieredPriceBuilder_.clear(); + } + canonicalMetric_ = ""; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.canonicalMetric_ = canonicalMetric_; + } + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + result) { + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 2 && tieredPriceBuilder_ != null) { + result.priceStructure_ = tieredPriceBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance()) return this; + if (!other.getCanonicalMetric().isEmpty()) { + canonicalMetric_ = other.canonicalMetric_; + bitField0_ |= 0x00000002; + onChanged(); + } + switch (other.getPriceStructureCase()) { + case TIERED_PRICE: + { + mergeTieredPrice(other.getTieredPrice()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + canonicalMetric_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetTieredPriceFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 2; + 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 priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder> + tieredPriceBuilder_; + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + @java.lang.Override + public boolean hasTieredPrice() { + return priceStructureCase_ == 2; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice() { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } else { + if (priceStructureCase_ == 2) { + return tieredPriceBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice value) { + if (tieredPriceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + tieredPriceBuilder_.setMessage(value); + } + priceStructureCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder + builderForValue) { + if (tieredPriceBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + tieredPriceBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice value) { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 2 + && priceStructure_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance()) { + priceStructure_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 2) { + tieredPriceBuilder_.mergeFrom(value); + } else { + tieredPriceBuilder_.setMessage(value); + } + } + priceStructureCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearTieredPrice() { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 2) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 2) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + tieredPriceBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder + getTieredPriceBuilder() { + return internalGetTieredPriceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder() { + if ((priceStructureCase_ == 2) && (tieredPriceBuilder_ != null)) { + return tieredPriceBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder> + internalGetTieredPriceFieldBuilder() { + if (tieredPriceBuilder_ == null) { + if (!(priceStructureCase_ == 2)) { + priceStructure_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + tieredPriceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_, + getParentForChildren(), + isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 2; + onChanged(); + return tieredPriceBuilder_; + } + + private java.lang.Object canonicalMetric_ = ""; + + /** + * + * + *
+         * Output only. The name of the metric, in canonical format.
+         *
+         * Note that in the canonical format the first character of the path
+         * component of the metric name is always uppercase, which may differ
+         * from the metric name in the service config. For example, a metric
+         * appearing in the service config as 'example.com/example_metric' will
+         * appear here in the SKU as 'example.com/Example_metric'. In the Service
+         * Management and Service Control APIs these two metric names are
+         * considered distinct, either or both may be defined, and usage must be
+         * reported using a name matching the name of a metric defined in the
+         * service config. But for billing purposes usage reported using either
+         * name will be aggregated under the canonical metric name.
+         *
+         * Example: "example.com/Example_metric"
+         * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The canonicalMetric. + */ + public java.lang.String getCanonicalMetric() { + java.lang.Object ref = canonicalMetric_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + canonicalMetric_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The name of the metric, in canonical format.
+         *
+         * Note that in the canonical format the first character of the path
+         * component of the metric name is always uppercase, which may differ
+         * from the metric name in the service config. For example, a metric
+         * appearing in the service config as 'example.com/example_metric' will
+         * appear here in the SKU as 'example.com/Example_metric'. In the Service
+         * Management and Service Control APIs these two metric names are
+         * considered distinct, either or both may be defined, and usage must be
+         * reported using a name matching the name of a metric defined in the
+         * service config. But for billing purposes usage reported using either
+         * name will be aggregated under the canonical metric name.
+         *
+         * Example: "example.com/Example_metric"
+         * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for canonicalMetric. + */ + public com.google.protobuf.ByteString getCanonicalMetricBytes() { + java.lang.Object ref = canonicalMetric_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + canonicalMetric_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The name of the metric, in canonical format.
+         *
+         * Note that in the canonical format the first character of the path
+         * component of the metric name is always uppercase, which may differ
+         * from the metric name in the service config. For example, a metric
+         * appearing in the service config as 'example.com/example_metric' will
+         * appear here in the SKU as 'example.com/Example_metric'. In the Service
+         * Management and Service Control APIs these two metric names are
+         * considered distinct, either or both may be defined, and usage must be
+         * reported using a name matching the name of a metric defined in the
+         * service config. But for billing purposes usage reported using either
+         * name will be aggregated under the canonical metric name.
+         *
+         * Example: "example.com/Example_metric"
+         * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The canonicalMetric to set. + * @return This builder for chaining. + */ + public Builder setCanonicalMetric(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + canonicalMetric_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The name of the metric, in canonical format.
+         *
+         * Note that in the canonical format the first character of the path
+         * component of the metric name is always uppercase, which may differ
+         * from the metric name in the service config. For example, a metric
+         * appearing in the service config as 'example.com/example_metric' will
+         * appear here in the SKU as 'example.com/Example_metric'. In the Service
+         * Management and Service Control APIs these two metric names are
+         * considered distinct, either or both may be defined, and usage must be
+         * reported using a name matching the name of a metric defined in the
+         * service config. But for billing purposes usage reported using either
+         * name will be aggregated under the canonical metric name.
+         *
+         * Example: "example.com/Example_metric"
+         * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearCanonicalMetric() { + canonicalMetric_ = getDefaultInstance().getCanonicalMetric(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The name of the metric, in canonical format.
+         *
+         * Note that in the canonical format the first character of the path
+         * component of the metric name is always uppercase, which may differ
+         * from the metric name in the service config. For example, a metric
+         * appearing in the service config as 'example.com/example_metric' will
+         * appear here in the SKU as 'example.com/Example_metric'. In the Service
+         * Management and Service Control APIs these two metric names are
+         * considered distinct, either or both may be defined, and usage must be
+         * reported using a name matching the name of a metric defined in the
+         * service config. But for billing purposes usage reported using either
+         * name will be aggregated under the canonical metric name.
+         *
+         * Example: "example.com/Example_metric"
+         * 
+ * + * string canonical_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for canonicalMetric to set. + * @return This builder for chaining. + */ + public Builder setCanonicalMetricBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + canonicalMetric_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ManagedServiceMetricUsageFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ComputeEngineLicenseUsageFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + boolean hasPricePerUnit(); + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + com.google.type.Money getPricePerUnit(); + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + */ + com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder(); + + /** + * + * + *
+       * Output only. The license code of the target Compute Engine License.
+       * Note that this is the numeric license code itself in uint64 format used
+       * to reference licenses attached to images, not the resource name of the
+       * related [Compute Engine LicenseCode
+       * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+       *
+       * Example: "1234567890123456789"
+       * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The licenseCode. + */ + java.lang.String getLicenseCode(); + + /** + * + * + *
+       * Output only. The license code of the target Compute Engine License.
+       * Note that this is the numeric license code itself in uint64 format used
+       * to reference licenses attached to images, not the resource name of the
+       * related [Compute Engine LicenseCode
+       * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+       *
+       * Example: "1234567890123456789"
+       * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for licenseCode. + */ + com.google.protobuf.ByteString getLicenseCodeBytes(); + + /** + * + * + *
+       * Output only. The machine resource type that the SKU applies to, if any.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for machineResource. + */ + int getMachineResourceValue(); + + /** + * + * + *
+       * Output only. The machine resource type that the SKU applies to, if any.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResource. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + getMachineResource(); + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the machineResourceRange field is set. + */ + boolean hasMachineResourceRange(); + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResourceRange. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + getMachineResourceRange(); + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder + getMachineResourceRangeOrBuilder(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + int getUsageCalculationValue(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + getUsageCalculation(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * vCPU and GPU SKUs because these resources have unitless dimensions and
+       * the application of these scaling factors does not change the price
+       * unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * vCPU and GPU SKUs because these resources have unitless dimensions and
+       * the application of these scaling factors does not change the price
+       * unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing usage of a [Compute Engine
+     * License](https://cloud.google.com/compute/docs/licenses/about).
+     *
+     * The SKU applies to a single license, and may be further scoped to a
+     * [Compute
+     * Engine VM Instance](https://cloud.google.com/compute/docs/instances)
+     * machine resource type (e.g. "vCPU") and size range for that machine
+     * resource. Instances deployed from [Compute
+     * Engine Images](https://cloud.google.com/compute/docs/images)
+     * incorporating the target license and (if applicable) matching the machine
+     * resource type size range will be charged by the SKU. A single license may
+     * be priced by multiple SKUs covering different combinations of machine
+     * resource type and size range, allowing a single running instance to be
+     * charged by up to one SKU per machine resource type, with pricing tiered
+     * according to machine shape.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee} + */ + public static final class ComputeEngineLicenseUsageFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + ComputeEngineLicenseUsageFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ComputeEngineLicenseUsageFee"); + } + + // Use ComputeEngineLicenseUsageFee.newBuilder() to construct. + private ComputeEngineLicenseUsageFee( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ComputeEngineLicenseUsageFee() { + licenseCode_ = ""; + machineResource_ = 0; + usageCalculation_ = 0; + unit_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder.class); + } + + /** + * + * + *
+       * The machine resource type that the SKU applies to, if any.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource} + */ + public enum MachineResource implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * The SKU applies to all instances irrespective of machine shape.
+         * This is referred to as "instance-based pricing" because the price
+         * is the same for all instances.
+         * 
+ * + * MACHINE_RESOURCE_UNSPECIFIED = 0; + */ + MACHINE_RESOURCE_UNSPECIFIED(0), + /** + * + * + *
+         * The SKU applies based on the instance's vCPU count.
+         * 
+ * + * VCPU_COUNT = 1; + */ + VCPU_COUNT(1), + /** + * + * + *
+         * The SKU applies based on the instance's memory size in bytes.
+         * 
+ * + * MEMORY_BYTES = 2; + */ + MEMORY_BYTES(2), + /** + * + * + *
+         * The SKU applies based on the instance's GPU count.
+         * 
+ * + * GPU_COUNT = 3; + */ + GPU_COUNT(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "MachineResource"); + } + + /** + * + * + *
+         * The SKU applies to all instances irrespective of machine shape.
+         * This is referred to as "instance-based pricing" because the price
+         * is the same for all instances.
+         * 
+ * + * MACHINE_RESOURCE_UNSPECIFIED = 0; + */ + public static final int MACHINE_RESOURCE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * The SKU applies based on the instance's vCPU count.
+         * 
+ * + * VCPU_COUNT = 1; + */ + public static final int VCPU_COUNT_VALUE = 1; + + /** + * + * + *
+         * The SKU applies based on the instance's memory size in bytes.
+         * 
+ * + * MEMORY_BYTES = 2; + */ + public static final int MEMORY_BYTES_VALUE = 2; + + /** + * + * + *
+         * The SKU applies based on the instance's GPU count.
+         * 
+ * + * GPU_COUNT = 3; + */ + public static final int GPU_COUNT_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static MachineResource valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static MachineResource forNumber(int value) { + switch (value) { + case 0: + return MACHINE_RESOURCE_UNSPECIFIED; + case 1: + return VCPU_COUNT; + case 2: + return MEMORY_BYTES; + case 3: + return GPU_COUNT; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public MachineResource findValueByNumber(int number) { + return MachineResource.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final MachineResource[] VALUES = values(); + + public static MachineResource valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private MachineResource(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource) + } + + /** + * + * + *
+       * Determines how the customer's usage is calculated.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation} + */ + public enum UsageCalculation implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + USAGE_CALCULATION_UNSPECIFIED(0), + /** + * + * + *
+         * Usage is calculated from instance runtime.
+         * The customer's usage is metered according to the [Compute Engine VM
+         * instance pricing
+         * model](https://cloud.google.com/compute/vm-instance-pricing),
+         * measured on a per-instance basis in units of hours, with a minimum
+         * duration of one minute and an increment of one second.
+         *
+         * A SKU using this usage calculation is referred to as "flat" because
+         * the customer's usage charge is independent of the instance's machine
+         * resource shape apart from determining whether the SKU applies to the
+         * instance.
+         * 
+ * + * INSTANCE_RUNTIME = 1; + */ + INSTANCE_RUNTIME(1), + /** + * + * + *
+         * Usage is calculated from instance runtime and size.
+         * This calculation mode is only applicable to resource-based SKUs.
+         * Usage is calculated by measuring the instance runtime in the same
+         * manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
+         * machine resource value matching the SKU's machine resource type.
+         * This converts the price from per-instance-hour to
+         * per-instance-hour-per-machine-resource, which changes the price unit
+         * for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
+         * because the other machine resources are dimensionless.
+         *
+         * A SKU using this usage calculation is referred to as "linear" because
+         * the customer's usage charge is linearly proportional to the
+         * instance's machine resource value.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2; + */ + LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UsageCalculation"); + } + + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + public static final int USAGE_CALCULATION_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * Usage is calculated from instance runtime.
+         * The customer's usage is metered according to the [Compute Engine VM
+         * instance pricing
+         * model](https://cloud.google.com/compute/vm-instance-pricing),
+         * measured on a per-instance basis in units of hours, with a minimum
+         * duration of one minute and an increment of one second.
+         *
+         * A SKU using this usage calculation is referred to as "flat" because
+         * the customer's usage charge is independent of the instance's machine
+         * resource shape apart from determining whether the SKU applies to the
+         * instance.
+         * 
+ * + * INSTANCE_RUNTIME = 1; + */ + public static final int INSTANCE_RUNTIME_VALUE = 1; + + /** + * + * + *
+         * Usage is calculated from instance runtime and size.
+         * This calculation mode is only applicable to resource-based SKUs.
+         * Usage is calculated by measuring the instance runtime in the same
+         * manner as for `INSTANCE_RUNTIME` and multiplying by the instance's
+         * machine resource value matching the SKU's machine resource type.
+         * This converts the price from per-instance-hour to
+         * per-instance-hour-per-machine-resource, which changes the price unit
+         * for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h'
+         * because the other machine resources are dimensionless.
+         *
+         * A SKU using this usage calculation is referred to as "linear" because
+         * the customer's usage charge is linearly proportional to the
+         * instance's machine resource value.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2; + */ + public static final int LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static UsageCalculation valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static UsageCalculation forNumber(int value) { + switch (value) { + case 0: + return USAGE_CALCULATION_UNSPECIFIED; + case 1: + return INSTANCE_RUNTIME; + case 2: + return LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public UsageCalculation findValueByNumber(int number) { + return UsageCalculation.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final UsageCalculation[] VALUES = values(); + + public static UsageCalculation valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private UsageCalculation(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation) + } + + public interface MachineResourceRangeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * While the number zero may be the start of a range, it is not a
+         * possible machine resource value. An instance cannot exist with zero
+         * vCPU or memory, and an instance with no attached accelerators lacks a
+         * GPU dimension entirely rather than having a GPU count of zero.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + long getStartValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + boolean hasEndValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + long getEndValue(); + } + + /** + * + * + *
+       * The range of machine resource values that the SKU applies to.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange} + */ + public static final class MachineResourceRange extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange) + MachineResourceRangeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "MachineResourceRange"); + } + + // Use MachineResourceRange.newBuilder() to construct. + private MachineResourceRange(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private MachineResourceRange() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.Builder.class); + } + + private int bitField0_; + public static final int START_VALUE_FIELD_NUMBER = 1; + private long startValue_ = 0L; + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * While the number zero may be the start of a range, it is not a
+         * possible machine resource value. An instance cannot exist with zero
+         * vCPU or memory, and an instance with no attached accelerators lacks a
+         * GPU dimension entirely rather than having a GPU count of zero.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + public static final int END_VALUE_FIELD_NUMBER = 2; + private long endValue_ = 0L; + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + 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 (startValue_ != 0L) { + output.writeInt64(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt64(2, endValue_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (startValue_ != 0L) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, endValue_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange) + obj; + + if (getStartValue() != other.getStartValue()) return false; + if (hasEndValue() != other.hasEndValue()) return false; + if (hasEndValue()) { + if (getEndValue() != other.getEndValue()) 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) + START_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getStartValue()); + if (hasEndValue()) { + hash = (37 * hash) + END_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getEndValue()); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The range of machine resource values that the SKU applies to.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + startValue_ = 0L; + endValue_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startValue_ = startValue_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endValue_ = endValue_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.getDefaultInstance()) + return this; + if (other.getStartValue() != 0L) { + setStartValue(other.getStartValue()); + } + if (other.hasEndValue()) { + setEndValue(other.getEndValue()); + } + 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 8: + { + startValue_ = input.readInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: + { + endValue_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 long startValue_; + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * While the number zero may be the start of a range, it is not a
+           * possible machine resource value. An instance cannot exist with zero
+           * vCPU or memory, and an instance with no attached accelerators lacks a
+           * GPU dimension entirely rather than having a GPU count of zero.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * While the number zero may be the start of a range, it is not a
+           * possible machine resource value. An instance cannot exist with zero
+           * vCPU or memory, and an instance with no attached accelerators lacks a
+           * GPU dimension entirely rather than having a GPU count of zero.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The startValue to set. + * @return This builder for chaining. + */ + public Builder setStartValue(long value) { + + startValue_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * While the number zero may be the start of a range, it is not a
+           * possible machine resource value. An instance cannot exist with zero
+           * vCPU or memory, and an instance with no attached accelerators lacks a
+           * GPU dimension entirely rather than having a GPU count of zero.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStartValue() { + bitField0_ = (bitField0_ & ~0x00000001); + startValue_ = 0L; + onChanged(); + return this; + } + + private long endValue_; + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The endValue to set. + * @return This builder for chaining. + */ + public Builder setEndValue(long value) { + + endValue_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearEndValue() { + bitField0_ = (bitField0_ & ~0x00000002); + endValue_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MachineResourceRange 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + PRICE_PER_UNIT(6), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 6: + return PRICE_PER_UNIT; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int PRICE_PER_UNIT_FIELD_NUMBER = 6; + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 6; + } + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + public static final int LICENSE_CODE_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object licenseCode_ = ""; + + /** + * + * + *
+       * Output only. The license code of the target Compute Engine License.
+       * Note that this is the numeric license code itself in uint64 format used
+       * to reference licenses attached to images, not the resource name of the
+       * related [Compute Engine LicenseCode
+       * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+       *
+       * Example: "1234567890123456789"
+       * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The licenseCode. + */ + @java.lang.Override + public java.lang.String getLicenseCode() { + java.lang.Object ref = licenseCode_; + 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(); + licenseCode_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The license code of the target Compute Engine License.
+       * Note that this is the numeric license code itself in uint64 format used
+       * to reference licenses attached to images, not the resource name of the
+       * related [Compute Engine LicenseCode
+       * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+       *
+       * Example: "1234567890123456789"
+       * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for licenseCode. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLicenseCodeBytes() { + java.lang.Object ref = licenseCode_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + licenseCode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MACHINE_RESOURCE_FIELD_NUMBER = 2; + private int machineResource_ = 0; + + /** + * + * + *
+       * Output only. The machine resource type that the SKU applies to, if any.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for machineResource. + */ + @java.lang.Override + public int getMachineResourceValue() { + return machineResource_; + } + + /** + * + * + *
+       * Output only. The machine resource type that the SKU applies to, if any.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResource. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + getMachineResource() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.forNumber(machineResource_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.UNRECOGNIZED + : result; + } + + public static final int MACHINE_RESOURCE_RANGE_FIELD_NUMBER = 3; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + machineResourceRange_; + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the machineResourceRange field is set. + */ + @java.lang.Override + public boolean hasMachineResourceRange() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResourceRange. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + getMachineResourceRange() { + return machineResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.getDefaultInstance() + : machineResourceRange_; + } + + /** + * + * + *
+       * Output only. The range of machine resource values that the SKU applies
+       * to. Unset when the SKU is not scoped to a particular machine resource
+       * type. The collection of SKUs in effect at any given time targeting the
+       * same license and machine resource type will cover all possible values
+       * for that machine resource type without overlap. Such a collection of
+       * SKUs form a "tiered" price structure over the possible values of the
+       * machine resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder + getMachineResourceRangeOrBuilder() { + return machineResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.getDefaultInstance() + : machineResourceRange_; + } + + public static final int USAGE_CALCULATION_FIELD_NUMBER = 4; + private int usageCalculation_ = 0; + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.forNumber(usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.UNRECOGNIZED + : result; + } + + public static final int UNIT_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * vCPU and GPU SKUs because these resources have unitless dimensions and
+       * the application of these scaling factors does not change the price
+       * unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * vCPU and GPU SKUs because these resources have unitless dimensions and
+       * the application of these scaling factors does not change the price
+       * unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = 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.GeneratedMessage.isStringEmpty(licenseCode_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, licenseCode_); + } + if (machineResource_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.MACHINE_RESOURCE_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, machineResource_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getMachineResourceRange()); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, usageCalculation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, unit_); + } + if (priceStructureCase_ == 6) { + output.writeMessage(6, (com.google.type.Money) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(licenseCode_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, licenseCode_); + } + if (machineResource_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.MACHINE_RESOURCE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, machineResource_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 3, getMachineResourceRange()); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, usageCalculation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, unit_); + } + if (priceStructureCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, (com.google.type.Money) priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + obj; + + if (!getLicenseCode().equals(other.getLicenseCode())) return false; + if (machineResource_ != other.machineResource_) return false; + if (hasMachineResourceRange() != other.hasMachineResourceRange()) return false; + if (hasMachineResourceRange()) { + if (!getMachineResourceRange().equals(other.getMachineResourceRange())) return false; + } + if (usageCalculation_ != other.usageCalculation_) return false; + if (!getUnit().equals(other.getUnit())) return false; + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 6: + if (!getPricePerUnit().equals(other.getPricePerUnit())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + LICENSE_CODE_FIELD_NUMBER; + hash = (53 * hash) + getLicenseCode().hashCode(); + hash = (37 * hash) + MACHINE_RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + machineResource_; + if (hasMachineResourceRange()) { + hash = (37 * hash) + MACHINE_RESOURCE_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getMachineResourceRange().hashCode(); + } + hash = (37 * hash) + USAGE_CALCULATION_FIELD_NUMBER; + hash = (53 * hash) + usageCalculation_; + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + switch (priceStructureCase_) { + case 6: + hash = (37 * hash) + PRICE_PER_UNIT_FIELD_NUMBER; + hash = (53 * hash) + getPricePerUnit().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing usage of a [Compute Engine
+       * License](https://cloud.google.com/compute/docs/licenses/about).
+       *
+       * The SKU applies to a single license, and may be further scoped to a
+       * [Compute
+       * Engine VM Instance](https://cloud.google.com/compute/docs/instances)
+       * machine resource type (e.g. "vCPU") and size range for that machine
+       * resource. Instances deployed from [Compute
+       * Engine Images](https://cloud.google.com/compute/docs/images)
+       * incorporating the target license and (if applicable) matching the machine
+       * resource type size range will be charged by the SKU. A single license may
+       * be priced by multiple SKUs covering different combinations of machine
+       * resource type and size range, allowing a single running instance to be
+       * charged by up to one SKU per machine resource type, with pricing tiered
+       * according to machine shape.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetMachineResourceRangeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (pricePerUnitBuilder_ != null) { + pricePerUnitBuilder_.clear(); + } + licenseCode_ = ""; + machineResource_ = 0; + machineResourceRange_ = null; + if (machineResourceRangeBuilder_ != null) { + machineResourceRangeBuilder_.dispose(); + machineResourceRangeBuilder_ = null; + } + usageCalculation_ = 0; + unit_ = ""; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.licenseCode_ = licenseCode_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.machineResource_ = machineResource_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.machineResourceRange_ = + machineResourceRangeBuilder_ == null + ? machineResourceRange_ + : machineResourceRangeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.usageCalculation_ = usageCalculation_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.unit_ = unit_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + result) { + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 6 && pricePerUnitBuilder_ != null) { + result.priceStructure_ = pricePerUnitBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance()) return this; + if (!other.getLicenseCode().isEmpty()) { + licenseCode_ = other.licenseCode_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.machineResource_ != 0) { + setMachineResourceValue(other.getMachineResourceValue()); + } + if (other.hasMachineResourceRange()) { + mergeMachineResourceRange(other.getMachineResourceRange()); + } + if (other.usageCalculation_ != 0) { + setUsageCalculationValue(other.getUsageCalculationValue()); + } + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000020; + onChanged(); + } + switch (other.getPriceStructureCase()) { + case PRICE_PER_UNIT: + { + mergePricePerUnit(other.getPricePerUnit()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + licenseCode_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 16: + { + machineResource_ = input.readEnum(); + bitField0_ |= 0x00000004; + break; + } // case 16 + case 26: + { + input.readMessage( + internalGetMachineResourceRangeFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 32: + { + usageCalculation_ = input.readEnum(); + bitField0_ |= 0x00000010; + break; + } // case 32 + case 42: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetPricePerUnitFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 6; + break; + } // case 50 + 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 priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + pricePerUnitBuilder_; + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 6; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } else { + if (priceStructureCase_ == 6) { + return pricePerUnitBuilder_.getMessage(); + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder setPricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(value); + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder setPricePerUnit(com.google.type.Money.Builder builderForValue) { + if (pricePerUnitBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder mergePricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6 + && priceStructure_ != com.google.type.Money.getDefaultInstance()) { + priceStructure_ = + com.google.type.Money.newBuilder((com.google.type.Money) priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 6) { + pricePerUnitBuilder_.mergeFrom(value); + } else { + pricePerUnitBuilder_.setMessage(value); + } + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder clearPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 6) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + pricePerUnitBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public com.google.type.Money.Builder getPricePerUnitBuilder() { + return internalGetPricePerUnitFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if ((priceStructureCase_ == 6) && (pricePerUnitBuilder_ != null)) { + return pricePerUnitBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetPricePerUnitFieldBuilder() { + if (pricePerUnitBuilder_ == null) { + if (!(priceStructureCase_ == 6)) { + priceStructure_ = com.google.type.Money.getDefaultInstance(); + } + pricePerUnitBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + (com.google.type.Money) priceStructure_, getParentForChildren(), isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 6; + onChanged(); + return pricePerUnitBuilder_; + } + + private java.lang.Object licenseCode_ = ""; + + /** + * + * + *
+         * Output only. The license code of the target Compute Engine License.
+         * Note that this is the numeric license code itself in uint64 format used
+         * to reference licenses attached to images, not the resource name of the
+         * related [Compute Engine LicenseCode
+         * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+         *
+         * Example: "1234567890123456789"
+         * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The licenseCode. + */ + public java.lang.String getLicenseCode() { + java.lang.Object ref = licenseCode_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + licenseCode_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The license code of the target Compute Engine License.
+         * Note that this is the numeric license code itself in uint64 format used
+         * to reference licenses attached to images, not the resource name of the
+         * related [Compute Engine LicenseCode
+         * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+         *
+         * Example: "1234567890123456789"
+         * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for licenseCode. + */ + public com.google.protobuf.ByteString getLicenseCodeBytes() { + java.lang.Object ref = licenseCode_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + licenseCode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The license code of the target Compute Engine License.
+         * Note that this is the numeric license code itself in uint64 format used
+         * to reference licenses attached to images, not the resource name of the
+         * related [Compute Engine LicenseCode
+         * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+         *
+         * Example: "1234567890123456789"
+         * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The licenseCode to set. + * @return This builder for chaining. + */ + public Builder setLicenseCode(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + licenseCode_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The license code of the target Compute Engine License.
+         * Note that this is the numeric license code itself in uint64 format used
+         * to reference licenses attached to images, not the resource name of the
+         * related [Compute Engine LicenseCode
+         * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+         *
+         * Example: "1234567890123456789"
+         * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearLicenseCode() { + licenseCode_ = getDefaultInstance().getLicenseCode(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The license code of the target Compute Engine License.
+         * Note that this is the numeric license code itself in uint64 format used
+         * to reference licenses attached to images, not the resource name of the
+         * related [Compute Engine LicenseCode
+         * resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes).
+         *
+         * Example: "1234567890123456789"
+         * 
+ * + * string license_code = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for licenseCode to set. + * @return This builder for chaining. + */ + public Builder setLicenseCodeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + licenseCode_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int machineResource_ = 0; + + /** + * + * + *
+         * Output only. The machine resource type that the SKU applies to, if any.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for machineResource. + */ + @java.lang.Override + public int getMachineResourceValue() { + return machineResource_; + } + + /** + * + * + *
+         * Output only. The machine resource type that the SKU applies to, if any.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for machineResource to set. + * @return This builder for chaining. + */ + public Builder setMachineResourceValue(int value) { + machineResource_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The machine resource type that the SKU applies to, if any.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResource. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + getMachineResource() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.forNumber(machineResource_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. The machine resource type that the SKU applies to, if any.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The machineResource to set. + * @return This builder for chaining. + */ + public Builder setMachineResource( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResource + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + machineResource_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The machine resource type that the SKU applies to, if any.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResource machine_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearMachineResource() { + bitField0_ = (bitField0_ & ~0x00000004); + machineResource_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + machineResourceRange_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder> + machineResourceRangeBuilder_; + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the machineResourceRange field is set. + */ + public boolean hasMachineResourceRange() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The machineResourceRange. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + getMachineResourceRange() { + if (machineResourceRangeBuilder_ == null) { + return machineResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.getDefaultInstance() + : machineResourceRange_; + } else { + return machineResourceRangeBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setMachineResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + value) { + if (machineResourceRangeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + machineResourceRange_ = value; + } else { + machineResourceRangeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setMachineResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.Builder + builderForValue) { + if (machineResourceRangeBuilder_ == null) { + machineResourceRange_ = builderForValue.build(); + } else { + machineResourceRangeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeMachineResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange + value) { + if (machineResourceRangeBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && machineResourceRange_ != null + && machineResourceRange_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.getDefaultInstance()) { + getMachineResourceRangeBuilder().mergeFrom(value); + } else { + machineResourceRange_ = value; + } + } else { + machineResourceRangeBuilder_.mergeFrom(value); + } + if (machineResourceRange_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearMachineResourceRange() { + bitField0_ = (bitField0_ & ~0x00000008); + machineResourceRange_ = null; + if (machineResourceRangeBuilder_ != null) { + machineResourceRangeBuilder_.dispose(); + machineResourceRangeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.Builder + getMachineResourceRangeBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetMachineResourceRangeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder + getMachineResourceRangeOrBuilder() { + if (machineResourceRangeBuilder_ != null) { + return machineResourceRangeBuilder_.getMessageOrBuilder(); + } else { + return machineResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.getDefaultInstance() + : machineResourceRange_; + } + } + + /** + * + * + *
+         * Output only. The range of machine resource values that the SKU applies
+         * to. Unset when the SKU is not scoped to a particular machine resource
+         * type. The collection of SKUs in effect at any given time targeting the
+         * same license and machine resource type will cover all possible values
+         * for that machine resource type without overlap. Such a collection of
+         * SKUs form a "tiered" price structure over the possible values of the
+         * machine resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRange machine_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .MachineResourceRangeOrBuilder> + internalGetMachineResourceRangeFieldBuilder() { + if (machineResourceRangeBuilder_ == null) { + machineResourceRangeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.MachineResourceRangeOrBuilder>( + getMachineResourceRange(), getParentForChildren(), isClean()); + machineResourceRange_ = null; + } + return machineResourceRangeBuilder_; + } + + private int usageCalculation_ = 0; + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculationValue(int value) { + usageCalculation_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.forNumber(usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .UsageCalculation + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + usageCalculation_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearUsageCalculation() { + bitField0_ = (bitField0_ & ~0x00000010); + usageCalculation_ = 0; + onChanged(); + return this; + } + + private java.lang.Object unit_ = ""; + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * vCPU and GPU SKUs because these resources have unitless dimensions and
+         * the application of these scaling factors does not change the price
+         * unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * vCPU and GPU SKUs because these resources have unitless dimensions and
+         * the application of these scaling factors does not change the price
+         * unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * vCPU and GPU SKUs because these resources have unitless dimensions and
+         * the application of these scaling factors does not change the price
+         * unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * vCPU and GPU SKUs because these resources have unitless dimensions and
+         * the application of these scaling factors does not change the price
+         * unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * vCPU and GPU SKUs because these resources have unitless dimensions and
+         * the application of these scaling factors does not change the price
+         * unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ComputeEngineLicenseUsageFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface KubernetesEnginePodUsageFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + boolean hasPricePerUnit(); + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + com.google.type.Money getPricePerUnit(); + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + */ + com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder(); + + /** + * + * + *
+       * Output only. The pod resource type that the SKU applies to.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for podResource. + */ + int getPodResourceValue(); + + /** + * + * + *
+       * Output only. The pod resource type that the SKU applies to.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResource. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource + getPodResource(); + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the podResourceRange field is set. + */ + boolean hasPodResourceRange(); + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResourceRange. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + getPodResourceRange(); + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder + getPodResourceRangeOrBuilder(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + int getUsageCalculationValue(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + getUsageCalculation(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * VCPU, GPU, and TPU SKUs because these resources have unitless
+       * dimensions and the application of these scaling factors does not change
+       * the price unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * VCPU, GPU, and TPU SKUs because these resources have unitless
+       * dimensions and the application of these scaling factors does not change
+       * the price unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing usage of software running on a Kubernetes
+     * Engine pod.
+     *
+     * The SKU applies to pods annotated with the SKU's parent service name, and
+     * may be further scoped to a [k8s pod resource
+     * type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
+     * (e.g. "CPU") and size range for that resource type. Running pods
+     * annotated with the parent service's service name and matching the pod
+     * resource type size range will be charged by the SKU. A service may be
+     * priced by multiple SKUs covering different combinations of pod resource
+     * type and size range, allowing a single running pod to be charged by up to
+     * one SKU per pod resource type, with pricing tiered according to pod
+     * shape.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee} + */ + public static final class KubernetesEnginePodUsageFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + KubernetesEnginePodUsageFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "KubernetesEnginePodUsageFee"); + } + + // Use KubernetesEnginePodUsageFee.newBuilder() to construct. + private KubernetesEnginePodUsageFee(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private KubernetesEnginePodUsageFee() { + podResource_ = 0; + usageCalculation_ = 0; + unit_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder.class); + } + + /** + * + * + *
+       * The pod [resource
+       * type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
+       * that the SKU applies to.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource} + */ + public enum PodResource implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * Unused.
+         * 
+ * + * POD_RESOURCE_UNSPECIFIED = 0; + */ + POD_RESOURCE_UNSPECIFIED(0), + /** + * + * + *
+         * The SKU applies based on the pod's [vCPU
+         * count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
+         * 
+ * + * VCPU_COUNT = 1; + */ + VCPU_COUNT(1), + /** + * + * + *
+         * The SKU applies based on the pod's [memory
+         * size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
+         * in bytes.
+         * 
+ * + * MEMORY_BYTES = 2; + */ + MEMORY_BYTES(2), + /** + * + * + *
+         * The SKU applies based on the pod's GPU count.
+         * 
+ * + * GPU_COUNT = 3; + */ + GPU_COUNT(3), + /** + * + * + *
+         * The SKU applies based on the pod's [TPU
+         * count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
+         * 
+ * + * TPU_COUNT = 4; + */ + TPU_COUNT(4), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PodResource"); + } + + /** + * + * + *
+         * Unused.
+         * 
+ * + * POD_RESOURCE_UNSPECIFIED = 0; + */ + public static final int POD_RESOURCE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * The SKU applies based on the pod's [vCPU
+         * count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).
+         * 
+ * + * VCPU_COUNT = 1; + */ + public static final int VCPU_COUNT_VALUE = 1; + + /** + * + * + *
+         * The SKU applies based on the pod's [memory
+         * size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/)
+         * in bytes.
+         * 
+ * + * MEMORY_BYTES = 2; + */ + public static final int MEMORY_BYTES_VALUE = 2; + + /** + * + * + *
+         * The SKU applies based on the pod's GPU count.
+         * 
+ * + * GPU_COUNT = 3; + */ + public static final int GPU_COUNT_VALUE = 3; + + /** + * + * + *
+         * The SKU applies based on the pod's [TPU
+         * count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work).
+         * 
+ * + * TPU_COUNT = 4; + */ + public static final int TPU_COUNT_VALUE = 4; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static PodResource valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static PodResource forNumber(int value) { + switch (value) { + case 0: + return POD_RESOURCE_UNSPECIFIED; + case 1: + return VCPU_COUNT; + case 2: + return MEMORY_BYTES; + case 3: + return GPU_COUNT; + case 4: + return TPU_COUNT; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PodResource findValueByNumber(int number) { + return PodResource.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final PodResource[] VALUES = values(); + + public static PodResource valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private PodResource(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource) + } + + /** + * + * + *
+       * Determines how the customer's usage is calculated.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation} + */ + public enum UsageCalculation implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + USAGE_CALCULATION_UNSPECIFIED(0), + /** + * + * + *
+         * Usage is calculated from pod runtime.
+         * The customer's usage is metered in a manner similar to the [GKE
+         * Autopilot mode for pods without specific hardware
+         * requirements](https://cloud.google.com/kubernetes-engine/pricing),
+         * priced on a per-pod basis in units of hours and measured in
+         * one-second increments, with no minimum duration.
+         *
+         * A SKU using this usage calculation is referred to as "flat" because
+         * the customer's usage charge is independent of the pod shape apart
+         * from determining whether the SKU applies to the pod.
+         * 
+ * + * POD_RUNTIME = 1; + */ + POD_RUNTIME(1), + /** + * + * + *
+         * Usage is calculated from pod runtime and size.
+         * This calculation mode is only applicable to resource-based SKUs.
+         * Usage is calculated by measuring the pod runtime in the same manner
+         * as for `POD_RUNTIME` and multiplying by the pod's resource value
+         * matching the SKU's pod resource type.
+         * This converts the price from per-pod-hour to
+         * per-pod-hour-per-resource, which changes the price unit for memory
+         * SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
+         * other resources are dimensionless.
+         *
+         * A SKU using this usage calculation is referred to as "linear" because
+         * the customer's usage charge is linearly proportional to the
+         * pod's resource value.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2; + */ + LINEAR_RESOURCE_SCALED_POD_RUNTIME(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UsageCalculation"); + } + + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + public static final int USAGE_CALCULATION_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * Usage is calculated from pod runtime.
+         * The customer's usage is metered in a manner similar to the [GKE
+         * Autopilot mode for pods without specific hardware
+         * requirements](https://cloud.google.com/kubernetes-engine/pricing),
+         * priced on a per-pod basis in units of hours and measured in
+         * one-second increments, with no minimum duration.
+         *
+         * A SKU using this usage calculation is referred to as "flat" because
+         * the customer's usage charge is independent of the pod shape apart
+         * from determining whether the SKU applies to the pod.
+         * 
+ * + * POD_RUNTIME = 1; + */ + public static final int POD_RUNTIME_VALUE = 1; + + /** + * + * + *
+         * Usage is calculated from pod runtime and size.
+         * This calculation mode is only applicable to resource-based SKUs.
+         * Usage is calculated by measuring the pod runtime in the same manner
+         * as for `POD_RUNTIME` and multiplying by the pod's resource value
+         * matching the SKU's pod resource type.
+         * This converts the price from per-pod-hour to
+         * per-pod-hour-per-resource, which changes the price unit for memory
+         * SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the
+         * other resources are dimensionless.
+         *
+         * A SKU using this usage calculation is referred to as "linear" because
+         * the customer's usage charge is linearly proportional to the
+         * pod's resource value.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2; + */ + public static final int LINEAR_RESOURCE_SCALED_POD_RUNTIME_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static UsageCalculation valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static UsageCalculation forNumber(int value) { + switch (value) { + case 0: + return USAGE_CALCULATION_UNSPECIFIED; + case 1: + return POD_RUNTIME; + case 2: + return LINEAR_RESOURCE_SCALED_POD_RUNTIME; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public UsageCalculation findValueByNumber(int number) { + return UsageCalculation.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final UsageCalculation[] VALUES = values(); + + public static UsageCalculation valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private UsageCalculation(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation) + } + + public interface PodResourceRangeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + long getStartValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + boolean hasEndValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + long getEndValue(); + } + + /** + * + * + *
+       * The range of pod resource values that the SKU applies to.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange} + */ + public static final class PodResourceRange extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange) + PodResourceRangeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PodResourceRange"); + } + + // Use PodResourceRange.newBuilder() to construct. + private PodResourceRange(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PodResourceRange() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.Builder.class); + } + + private int bitField0_; + public static final int START_VALUE_FIELD_NUMBER = 1; + private long startValue_ = 0L; + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + public static final int END_VALUE_FIELD_NUMBER = 2; + private long endValue_ = 0L; + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + 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 (startValue_ != 0L) { + output.writeInt64(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt64(2, endValue_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (startValue_ != 0L) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, endValue_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange) + obj; + + if (getStartValue() != other.getStartValue()) return false; + if (hasEndValue() != other.hasEndValue()) return false; + if (hasEndValue()) { + if (getEndValue() != other.getEndValue()) 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) + START_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getStartValue()); + if (hasEndValue()) { + hash = (37 * hash) + END_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getEndValue()); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The range of pod resource values that the SKU applies to.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + startValue_ = 0L; + endValue_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startValue_ = startValue_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endValue_ = endValue_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance()) return this; + if (other.getStartValue() != 0L) { + setStartValue(other.getStartValue()); + } + if (other.hasEndValue()) { + setEndValue(other.getEndValue()); + } + 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 8: + { + startValue_ = input.readInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: + { + endValue_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 long startValue_; + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The startValue to set. + * @return This builder for chaining. + */ + public Builder setStartValue(long value) { + + startValue_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStartValue() { + bitField0_ = (bitField0_ & ~0x00000001); + startValue_ = 0L; + onChanged(); + return this; + } + + private long endValue_; + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The endValue to set. + * @return This builder for chaining. + */ + public Builder setEndValue(long value) { + + endValue_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearEndValue() { + bitField0_ = (bitField0_ & ~0x00000002); + endValue_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PodResourceRange 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + PRICE_PER_UNIT(6), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 6: + return PRICE_PER_UNIT; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int PRICE_PER_UNIT_FIELD_NUMBER = 6; + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 6; + } + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + /** + * + * + *
+       * The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 6; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + public static final int POD_RESOURCE_FIELD_NUMBER = 2; + private int podResource_ = 0; + + /** + * + * + *
+       * Output only. The pod resource type that the SKU applies to.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for podResource. + */ + @java.lang.Override + public int getPodResourceValue() { + return podResource_; + } + + /** + * + * + *
+       * Output only. The pod resource type that the SKU applies to.
+       * SKUs with a non-default value are referred to as "resource-based" SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResource. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource + getPodResource() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.forNumber(podResource_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.UNRECOGNIZED + : result; + } + + public static final int POD_RESOURCE_RANGE_FIELD_NUMBER = 3; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + podResourceRange_; + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the podResourceRange field is set. + */ + @java.lang.Override + public boolean hasPodResourceRange() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResourceRange. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + getPodResourceRange() { + return podResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance() + : podResourceRange_; + } + + /** + * + * + *
+       * Output only. The range of pod resource values that the SKU applies to.
+       * The collection of SKUs in effect at any given time targeting the same
+       * service annotation and pod resource type will cover all possible values
+       * for that pod resource type without overlap. Such a collection of SKUs
+       * form a "tiered" price structure over the possible values of the pod
+       * resource, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder + getPodResourceRangeOrBuilder() { + return podResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance() + : podResourceRange_; + } + + public static final int USAGE_CALCULATION_FIELD_NUMBER = 4; + private int usageCalculation_ = 0; + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.forNumber(usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.UNRECOGNIZED + : result; + } + + public static final int UNIT_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * VCPU, GPU, and TPU SKUs because these resources have unitless
+       * dimensions and the application of these scaling factors does not change
+       * the price unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+       * For all other SKUs, the price unit is 'h'. This includes linear-priced
+       * VCPU, GPU, and TPU SKUs because these resources have unitless
+       * dimensions and the application of these scaling factors does not change
+       * the price unit.
+       * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = 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 (podResource_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.POD_RESOURCE_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, podResource_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getPodResourceRange()); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, usageCalculation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, unit_); + } + if (priceStructureCase_ == 6) { + output.writeMessage(6, (com.google.type.Money) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (podResource_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.POD_RESOURCE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, podResource_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(3, getPodResourceRange()); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, usageCalculation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, unit_); + } + if (priceStructureCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, (com.google.type.Money) priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) obj; + + if (podResource_ != other.podResource_) return false; + if (hasPodResourceRange() != other.hasPodResourceRange()) return false; + if (hasPodResourceRange()) { + if (!getPodResourceRange().equals(other.getPodResourceRange())) return false; + } + if (usageCalculation_ != other.usageCalculation_) return false; + if (!getUnit().equals(other.getUnit())) return false; + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 6: + if (!getPricePerUnit().equals(other.getPricePerUnit())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + POD_RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + podResource_; + if (hasPodResourceRange()) { + hash = (37 * hash) + POD_RESOURCE_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getPodResourceRange().hashCode(); + } + hash = (37 * hash) + USAGE_CALCULATION_FIELD_NUMBER; + hash = (53 * hash) + usageCalculation_; + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + switch (priceStructureCase_) { + case 6: + hash = (37 * hash) + PRICE_PER_UNIT_FIELD_NUMBER; + hash = (53 * hash) + getPricePerUnit().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing usage of software running on a Kubernetes
+       * Engine pod.
+       *
+       * The SKU applies to pods annotated with the SKU's parent service name, and
+       * may be further scoped to a [k8s pod resource
+       * type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
+       * (e.g. "CPU") and size range for that resource type. Running pods
+       * annotated with the parent service's service name and matching the pod
+       * resource type size range will be charged by the SKU. A service may be
+       * priced by multiple SKUs covering different combinations of pod resource
+       * type and size range, allowing a single running pod to be charged by up to
+       * one SKU per pod resource type, with pricing tiered according to pod
+       * shape.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPodResourceRangeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (pricePerUnitBuilder_ != null) { + pricePerUnitBuilder_.clear(); + } + podResource_ = 0; + podResourceRange_ = null; + if (podResourceRangeBuilder_ != null) { + podResourceRangeBuilder_.dispose(); + podResourceRangeBuilder_ = null; + } + usageCalculation_ = 0; + unit_ = ""; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee( + this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.podResource_ = podResource_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.podResourceRange_ = + podResourceRangeBuilder_ == null + ? podResourceRange_ + : podResourceRangeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.usageCalculation_ = usageCalculation_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.unit_ = unit_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + result) { + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 6 && pricePerUnitBuilder_ != null) { + result.priceStructure_ = pricePerUnitBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance()) return this; + if (other.podResource_ != 0) { + setPodResourceValue(other.getPodResourceValue()); + } + if (other.hasPodResourceRange()) { + mergePodResourceRange(other.getPodResourceRange()); + } + if (other.usageCalculation_ != 0) { + setUsageCalculationValue(other.getUsageCalculationValue()); + } + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000010; + onChanged(); + } + switch (other.getPriceStructureCase()) { + case PRICE_PER_UNIT: + { + mergePricePerUnit(other.getPricePerUnit()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 16: + { + podResource_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + input.readMessage( + internalGetPodResourceRangeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + usageCalculation_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 42: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetPricePerUnitFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 6; + break; + } // case 50 + 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 priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + pricePerUnitBuilder_; + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 6; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } else { + if (priceStructureCase_ == 6) { + return pricePerUnitBuilder_.getMessage(); + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder setPricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(value); + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder setPricePerUnit(com.google.type.Money.Builder builderForValue) { + if (pricePerUnitBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder mergePricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6 + && priceStructure_ != com.google.type.Money.getDefaultInstance()) { + priceStructure_ = + com.google.type.Money.newBuilder((com.google.type.Money) priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 6) { + pricePerUnitBuilder_.mergeFrom(value); + } else { + pricePerUnitBuilder_.setMessage(value); + } + } + priceStructureCase_ = 6; + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public Builder clearPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 6) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 6) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + pricePerUnitBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + public com.google.type.Money.Builder getPricePerUnitBuilder() { + return internalGetPricePerUnitFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if ((priceStructureCase_ == 6) && (pricePerUnitBuilder_ != null)) { + return pricePerUnitBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 6) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 6; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetPricePerUnitFieldBuilder() { + if (pricePerUnitBuilder_ == null) { + if (!(priceStructureCase_ == 6)) { + priceStructure_ = com.google.type.Money.getDefaultInstance(); + } + pricePerUnitBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + (com.google.type.Money) priceStructure_, getParentForChildren(), isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 6; + onChanged(); + return pricePerUnitBuilder_; + } + + private int podResource_ = 0; + + /** + * + * + *
+         * Output only. The pod resource type that the SKU applies to.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for podResource. + */ + @java.lang.Override + public int getPodResourceValue() { + return podResource_; + } + + /** + * + * + *
+         * Output only. The pod resource type that the SKU applies to.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for podResource to set. + * @return This builder for chaining. + */ + public Builder setPodResourceValue(int value) { + podResource_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The pod resource type that the SKU applies to.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResource. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource + getPodResource() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.forNumber(podResource_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. The pod resource type that the SKU applies to.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The podResource to set. + * @return This builder for chaining. + */ + public Builder setPodResource( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResource + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + podResource_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The pod resource type that the SKU applies to.
+         * SKUs with a non-default value are referred to as "resource-based" SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResource pod_resource = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearPodResource() { + bitField0_ = (bitField0_ & ~0x00000002); + podResource_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + podResourceRange_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder> + podResourceRangeBuilder_; + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the podResourceRange field is set. + */ + public boolean hasPodResourceRange() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The podResourceRange. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + getPodResourceRange() { + if (podResourceRangeBuilder_ == null) { + return podResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance() + : podResourceRange_; + } else { + return podResourceRangeBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPodResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + value) { + if (podResourceRangeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + podResourceRange_ = value; + } else { + podResourceRangeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPodResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.Builder + builderForValue) { + if (podResourceRangeBuilder_ == null) { + podResourceRange_ = builderForValue.build(); + } else { + podResourceRangeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePodResourceRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange + value) { + if (podResourceRangeBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && podResourceRange_ != null + && podResourceRange_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange.getDefaultInstance()) { + getPodResourceRangeBuilder().mergeFrom(value); + } else { + podResourceRange_ = value; + } + } else { + podResourceRangeBuilder_.mergeFrom(value); + } + if (podResourceRange_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPodResourceRange() { + bitField0_ = (bitField0_ & ~0x00000004); + podResourceRange_ = null; + if (podResourceRangeBuilder_ != null) { + podResourceRangeBuilder_.dispose(); + podResourceRangeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.Builder + getPodResourceRangeBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetPodResourceRangeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder + getPodResourceRangeOrBuilder() { + if (podResourceRangeBuilder_ != null) { + return podResourceRangeBuilder_.getMessageOrBuilder(); + } else { + return podResourceRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.getDefaultInstance() + : podResourceRange_; + } + } + + /** + * + * + *
+         * Output only. The range of pod resource values that the SKU applies to.
+         * The collection of SKUs in effect at any given time targeting the same
+         * service annotation and pod resource type will cover all possible values
+         * for that pod resource type without overlap. Such a collection of SKUs
+         * form a "tiered" price structure over the possible values of the pod
+         * resource, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceRange pod_resource_range = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .PodResourceRangeOrBuilder> + internalGetPodResourceRangeFieldBuilder() { + if (podResourceRangeBuilder_ == null) { + podResourceRangeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.PodResourceRangeOrBuilder>( + getPodResourceRange(), getParentForChildren(), isClean()); + podResourceRange_ = null; + } + return podResourceRangeBuilder_; + } + + private int usageCalculation_ = 0; + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculationValue(int value) { + usageCalculation_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.forNumber(usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .UsageCalculation + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + usageCalculation_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearUsageCalculation() { + bitField0_ = (bitField0_ & ~0x00000008); + usageCalculation_ = 0; + onChanged(); + return this; + } + + private java.lang.Object unit_ = ""; + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * VCPU, GPU, and TPU SKUs because these resources have unitless
+         * dimensions and the application of these scaling factors does not change
+         * the price unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * VCPU, GPU, and TPU SKUs because these resources have unitless
+         * dimensions and the application of these scaling factors does not change
+         * the price unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * VCPU, GPU, and TPU SKUs because these resources have unitless
+         * dimensions and the application of these scaling factors does not change
+         * the price unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * VCPU, GPU, and TPU SKUs because these resources have unitless
+         * dimensions and the application of these scaling factors does not change
+         * the price unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * For linear-priced memory SKUs, the price unit is 'GiBy.h'.
+         * For all other SKUs, the price unit is 'h'. This includes linear-priced
+         * VCPU, GPU, and TPU SKUs because these resources have unitless
+         * dimensions and the application of these scaling factors does not change
+         * the price unit.
+         * 
+ * + * string unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public KubernetesEnginePodUsageFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface AiPlatformManagedModelUsageFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + boolean hasTieredPrice(); + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice(); + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder(); + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usageMetric field is set. + */ + boolean hasUsageMetric(); + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + getUsageMetric(); + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder + getUsageMetricOrBuilder(); + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + boolean hasLocation(); + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation + getLocation(); + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder(); + + /** + * + * + *
+       * Output only. The prediction mode of requests that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for predictionMode. + */ + int getPredictionModeValue(); + + /** + * + * + *
+       * Output only. The prediction mode of requests that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The predictionMode. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + getPredictionMode(); + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the combinedRequestInputTokensRange field is set. + */ + boolean hasCombinedRequestInputTokensRange(); + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The combinedRequestInputTokensRange. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + getCombinedRequestInputTokensRange(); + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder + getCombinedRequestInputTokensRangeOrBuilder(); + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the provisionedThroughputOverage field is set. + */ + boolean hasProvisionedThroughputOverage(); + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The provisionedThroughputOverage. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + getProvisionedThroughputOverage(); + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder + getProvisionedThroughputOverageOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing usage of an [AI Platform Managed Model
+     * (MaaS)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/use-partner-models).
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee} + */ + public static final class AiPlatformManagedModelUsageFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + AiPlatformManagedModelUsageFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AiPlatformManagedModelUsageFee"); + } + + // Use AiPlatformManagedModelUsageFee.newBuilder() to construct. + private AiPlatformManagedModelUsageFee( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AiPlatformManagedModelUsageFee() { + predictionMode_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .Builder.class); + } + + /** + * + * + *
+       * The prediction modes of requests that the SKU applies to.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode} + */ + public enum PredictionMode implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * The SKU does not distinguish between prediction modes.
+         * 
+ * + * PREDICTION_MODE_UNSPECIFIED = 0; + */ + PREDICTION_MODE_UNSPECIFIED(0), + /** + * + * + *
+         * The SKU applies to online prediction.
+         * 
+ * + * ONLINE_PREDICTION = 1; + */ + ONLINE_PREDICTION(1), + /** + * + * + *
+         * The SKU applies to batch prediction.
+         * 
+ * + * BATCH_PREDICTION = 2; + */ + BATCH_PREDICTION(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PredictionMode"); + } + + /** + * + * + *
+         * The SKU does not distinguish between prediction modes.
+         * 
+ * + * PREDICTION_MODE_UNSPECIFIED = 0; + */ + public static final int PREDICTION_MODE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * The SKU applies to online prediction.
+         * 
+ * + * ONLINE_PREDICTION = 1; + */ + public static final int ONLINE_PREDICTION_VALUE = 1; + + /** + * + * + *
+         * The SKU applies to batch prediction.
+         * 
+ * + * BATCH_PREDICTION = 2; + */ + public static final int BATCH_PREDICTION_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static PredictionMode valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static PredictionMode forNumber(int value) { + switch (value) { + case 0: + return PREDICTION_MODE_UNSPECIFIED; + case 1: + return ONLINE_PREDICTION; + case 2: + return BATCH_PREDICTION; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public PredictionMode findValueByNumber(int number) { + return PredictionMode.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final PredictionMode[] VALUES = values(); + + public static PredictionMode valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private PredictionMode(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode) + } + + public interface AiPlatformManagedModelUsageMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inputTokensMetric field is set. + */ + boolean hasInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inputTokensMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + getInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetricOrBuilder + getInputTokensMetricOrBuilder(); + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheReadInputTokensMetric field is set. + */ + boolean hasCacheReadInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheReadInputTokensMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + getCacheReadInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetricOrBuilder + getCacheReadInputTokensMetricOrBuilder(); + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheWriteInputTokensMetric field is set. + */ + boolean hasCacheWriteInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheWriteInputTokensMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + getCacheWriteInputTokensMetric(); + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetricOrBuilder + getCacheWriteInputTokensMetricOrBuilder(); + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the outputTokensMetric field is set. + */ + boolean hasOutputTokensMetric(); + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The outputTokensMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + getOutputTokensMetric(); + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetricOrBuilder + getOutputTokensMetricOrBuilder(); + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the webSearchRequestsMetric field is set. + */ + boolean hasWebSearchRequestsMetric(); + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The webSearchRequestsMetric. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + getWebSearchRequestsMetric(); + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetricOrBuilder + getWebSearchRequestsMetricOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.MetricCase + getMetricCase(); + } + + /** + * + * + *
+       * The usage metric that the SKU applies to.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric} + */ + public static final class AiPlatformManagedModelUsageMetric + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + AiPlatformManagedModelUsageMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AiPlatformManagedModelUsageMetric"); + } + + // Use AiPlatformManagedModelUsageMetric.newBuilder() to construct. + private AiPlatformManagedModelUsageMetric( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AiPlatformManagedModelUsageMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.Builder + .class); + } + + public interface InputTokensMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric) + com.google.protobuf.MessageOrBuilder {} + + /** + * + * + *
+         * Input tokens read from the input to the prediction endpoint.
+         * The unit for this metric is dimensionless.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric} + */ + public static final class InputTokensMetric extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric) + InputTokensMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "InputTokensMetric"); + } + + // Use InputTokensMetric.newBuilder() to construct. + private InputTokensMetric(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private InputTokensMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder.class); + } + + 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 { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + obj; + + 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 = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+           * Input tokens read from the input to the prediction endpoint.
+           * The unit for this metric is dimensionless.
+           * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance()) return this; + 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; + 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; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public InputTokensMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CacheReadInputTokensMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + com.google.protobuf.MessageOrBuilder {} + + /** + * + * + *
+         * Input tokens read from the cache.
+         * The unit for this metric is dimensionless.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric} + */ + public static final class CacheReadInputTokensMetric + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + CacheReadInputTokensMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CacheReadInputTokensMetric"); + } + + // Use CacheReadInputTokensMetric.newBuilder() to construct. + private CacheReadInputTokensMetric( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CacheReadInputTokensMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder.class); + } + + 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 { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + obj; + + 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 = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+           * Input tokens read from the cache.
+           * The unit for this metric is dimensionless.
+           * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance()) return this; + 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; + 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; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CacheReadInputTokensMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CacheWriteInputTokensMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the ttl field is set. + */ + boolean hasTtl(); + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The ttl. + */ + com.google.protobuf.Duration getTtl(); + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.DurationOrBuilder getTtlOrBuilder(); + } + + /** + * + * + *
+         * Input tokens written to the cache.
+         * The unit for this metric is dimensionless.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric} + */ + public static final class CacheWriteInputTokensMetric + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + CacheWriteInputTokensMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CacheWriteInputTokensMetric"); + } + + // Use CacheWriteInputTokensMetric.newBuilder() to construct. + private CacheWriteInputTokensMetric( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CacheWriteInputTokensMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder.class); + } + + private int bitField0_; + public static final int TTL_FIELD_NUMBER = 1; + private com.google.protobuf.Duration ttl_; + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the ttl field is set. + */ + @java.lang.Override + public boolean hasTtl() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The ttl. + */ + @java.lang.Override + public com.google.protobuf.Duration getTtl() { + return ttl_ == null ? com.google.protobuf.Duration.getDefaultInstance() : ttl_; + } + + /** + * + * + *
+           * Output only. The duration the write is retained in the cache.
+           * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.DurationOrBuilder getTtlOrBuilder() { + return ttl_ == null ? com.google.protobuf.Duration.getDefaultInstance() : ttl_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getTtl()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTtl()); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + obj; + + if (hasTtl() != other.hasTtl()) return false; + if (hasTtl()) { + if (!getTtl().equals(other.getTtl())) 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(); + if (hasTtl()) { + hash = (37 * hash) + TTL_FIELD_NUMBER; + hash = (53 * hash) + getTtl().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+           * Input tokens written to the cache.
+           * The unit for this metric is dimensionless.
+           * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetTtlFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + ttl_ = null; + if (ttlBuilder_ != null) { + ttlBuilder_.dispose(); + ttlBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.ttl_ = ttlBuilder_ == null ? ttl_ : ttlBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance()) return this; + if (other.hasTtl()) { + mergeTtl(other.getTtl()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetTtlFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 com.google.protobuf.Duration ttl_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder> + ttlBuilder_; + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the ttl field is set. + */ + public boolean hasTtl() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The ttl. + */ + public com.google.protobuf.Duration getTtl() { + if (ttlBuilder_ == null) { + return ttl_ == null ? com.google.protobuf.Duration.getDefaultInstance() : ttl_; + } else { + return ttlBuilder_.getMessage(); + } + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTtl(com.google.protobuf.Duration value) { + if (ttlBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ttl_ = value; + } else { + ttlBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTtl(com.google.protobuf.Duration.Builder builderForValue) { + if (ttlBuilder_ == null) { + ttl_ = builderForValue.build(); + } else { + ttlBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeTtl(com.google.protobuf.Duration value) { + if (ttlBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && ttl_ != null + && ttl_ != com.google.protobuf.Duration.getDefaultInstance()) { + getTtlBuilder().mergeFrom(value); + } else { + ttl_ = value; + } + } else { + ttlBuilder_.mergeFrom(value); + } + if (ttl_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearTtl() { + bitField0_ = (bitField0_ & ~0x00000001); + ttl_ = null; + if (ttlBuilder_ != null) { + ttlBuilder_.dispose(); + ttlBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Duration.Builder getTtlBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetTtlFieldBuilder().getBuilder(); + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.DurationOrBuilder getTtlOrBuilder() { + if (ttlBuilder_ != null) { + return ttlBuilder_.getMessageOrBuilder(); + } else { + return ttl_ == null ? com.google.protobuf.Duration.getDefaultInstance() : ttl_; + } + } + + /** + * + * + *
+             * Output only. The duration the write is retained in the cache.
+             * 
+ * + * .google.protobuf.Duration ttl = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder> + internalGetTtlFieldBuilder() { + if (ttlBuilder_ == null) { + ttlBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Duration, + com.google.protobuf.Duration.Builder, + com.google.protobuf.DurationOrBuilder>( + getTtl(), getParentForChildren(), isClean()); + ttl_ = null; + } + return ttlBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CacheWriteInputTokensMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OutputTokensMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric) + com.google.protobuf.MessageOrBuilder {} + + /** + * + * + *
+         * Output tokens returned from the prediction endpoint.
+         * The unit for this metric is dimensionless.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric} + */ + public static final class OutputTokensMetric extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric) + OutputTokensMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "OutputTokensMetric"); + } + + // Use OutputTokensMetric.newBuilder() to construct. + private OutputTokensMetric(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private OutputTokensMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder.class); + } + + 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 { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + obj; + + 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 = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+           * Output tokens returned from the prediction endpoint.
+           * The unit for this metric is dimensionless.
+           * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance()) return this; + 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; + 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; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OutputTokensMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface WebSearchRequestsMetricOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + com.google.protobuf.MessageOrBuilder {} + + /** + * + * + *
+         * Web search requests executed by the model.
+         * The unit for this metric is dimensionless.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric} + */ + public static final class WebSearchRequestsMetric + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + WebSearchRequestsMetricOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "WebSearchRequestsMetric"); + } + + // Use WebSearchRequestsMetric.newBuilder() to construct. + private WebSearchRequestsMetric(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private WebSearchRequestsMetric() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder.class); + } + + 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 { + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + obj; + + 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 = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+           * Web search requests executed by the model.
+           * The unit for this metric is dimensionless.
+           * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance()) return this; + 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; + 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; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public WebSearchRequestsMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int metricCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object metric_; + + public enum MetricCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + INPUT_TOKENS_METRIC(1), + CACHE_READ_INPUT_TOKENS_METRIC(2), + CACHE_WRITE_INPUT_TOKENS_METRIC(3), + OUTPUT_TOKENS_METRIC(4), + WEB_SEARCH_REQUESTS_METRIC(5), + METRIC_NOT_SET(0); + private final int value; + + private MetricCase(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 MetricCase valueOf(int value) { + return forNumber(value); + } + + public static MetricCase forNumber(int value) { + switch (value) { + case 1: + return INPUT_TOKENS_METRIC; + case 2: + return CACHE_READ_INPUT_TOKENS_METRIC; + case 3: + return CACHE_WRITE_INPUT_TOKENS_METRIC; + case 4: + return OUTPUT_TOKENS_METRIC; + case 5: + return WEB_SEARCH_REQUESTS_METRIC; + case 0: + return METRIC_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public MetricCase getMetricCase() { + return MetricCase.forNumber(metricCase_); + } + + public static final int INPUT_TOKENS_METRIC_FIELD_NUMBER = 1; + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasInputTokensMetric() { + return metricCase_ == 1; + } + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + getInputTokensMetric() { + if (metricCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric + .getDefaultInstance(); + } + + /** + * + * + *
+         * Output only. Input tokens read from the prediction endpoint input.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetricOrBuilder + getInputTokensMetricOrBuilder() { + if (metricCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric + .getDefaultInstance(); + } + + public static final int CACHE_READ_INPUT_TOKENS_METRIC_FIELD_NUMBER = 2; + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheReadInputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasCacheReadInputTokensMetric() { + return metricCase_ == 2; + } + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheReadInputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + getCacheReadInputTokensMetric() { + if (metricCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + + /** + * + * + *
+         * Output only. Input tokens read from the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetricOrBuilder + getCacheReadInputTokensMetricOrBuilder() { + if (metricCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + + public static final int CACHE_WRITE_INPUT_TOKENS_METRIC_FIELD_NUMBER = 3; + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheWriteInputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasCacheWriteInputTokensMetric() { + return metricCase_ == 3; + } + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheWriteInputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + getCacheWriteInputTokensMetric() { + if (metricCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + + /** + * + * + *
+         * Output only. Input tokens written to the cache.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetricOrBuilder + getCacheWriteInputTokensMetricOrBuilder() { + if (metricCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + + public static final int OUTPUT_TOKENS_METRIC_FIELD_NUMBER = 4; + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the outputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasOutputTokensMetric() { + return metricCase_ == 4; + } + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The outputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + getOutputTokensMetric() { + if (metricCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric + .getDefaultInstance(); + } + + /** + * + * + *
+         * Output only. Output tokens returned from the prediction endpoint.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetricOrBuilder + getOutputTokensMetricOrBuilder() { + if (metricCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric + .getDefaultInstance(); + } + + public static final int WEB_SEARCH_REQUESTS_METRIC_FIELD_NUMBER = 5; + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the webSearchRequestsMetric field is set. + */ + @java.lang.Override + public boolean hasWebSearchRequestsMetric() { + return metricCase_ == 5; + } + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The webSearchRequestsMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + getWebSearchRequestsMetric() { + if (metricCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + + /** + * + * + *
+         * Output only. Web search requests executed by the model.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetricOrBuilder + getWebSearchRequestsMetricOrBuilder() { + if (metricCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + + 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 (metricCase_ == 1) { + output.writeMessage( + 1, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_); + } + if (metricCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_); + } + if (metricCase_ == 3) { + output.writeMessage( + 3, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_); + } + if (metricCase_ == 4) { + output.writeMessage( + 4, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_); + } + if (metricCase_ == 5) { + output.writeMessage( + 5, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (metricCase_ == 1) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_); + } + if (metricCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_); + } + if (metricCase_ == 3) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 3, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_); + } + if (metricCase_ == 4) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 4, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_); + } + if (metricCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + obj; + + if (!getMetricCase().equals(other.getMetricCase())) return false; + switch (metricCase_) { + case 1: + if (!getInputTokensMetric().equals(other.getInputTokensMetric())) return false; + break; + case 2: + if (!getCacheReadInputTokensMetric().equals(other.getCacheReadInputTokensMetric())) + return false; + break; + case 3: + if (!getCacheWriteInputTokensMetric().equals(other.getCacheWriteInputTokensMetric())) + return false; + break; + case 4: + if (!getOutputTokensMetric().equals(other.getOutputTokensMetric())) return false; + break; + case 5: + if (!getWebSearchRequestsMetric().equals(other.getWebSearchRequestsMetric())) + return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (metricCase_) { + case 1: + hash = (37 * hash) + INPUT_TOKENS_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getInputTokensMetric().hashCode(); + break; + case 2: + hash = (37 * hash) + CACHE_READ_INPUT_TOKENS_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getCacheReadInputTokensMetric().hashCode(); + break; + case 3: + hash = (37 * hash) + CACHE_WRITE_INPUT_TOKENS_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getCacheWriteInputTokensMetric().hashCode(); + break; + case 4: + hash = (37 * hash) + OUTPUT_TOKENS_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getOutputTokensMetric().hashCode(); + break; + case 5: + hash = (37 * hash) + WEB_SEARCH_REQUESTS_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getWebSearchRequestsMetric().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The usage metric that the SKU applies to.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (inputTokensMetricBuilder_ != null) { + inputTokensMetricBuilder_.clear(); + } + if (cacheReadInputTokensMetricBuilder_ != null) { + cacheReadInputTokensMetricBuilder_.clear(); + } + if (cacheWriteInputTokensMetricBuilder_ != null) { + cacheWriteInputTokensMetricBuilder_.clear(); + } + if (outputTokensMetricBuilder_ != null) { + outputTokensMetricBuilder_.clear(); + } + if (webSearchRequestsMetricBuilder_ != null) { + webSearchRequestsMetricBuilder_.clear(); + } + metricCase_ = 0; + metric_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + result) { + result.metricCase_ = metricCase_; + result.metric_ = this.metric_; + if (metricCase_ == 1 && inputTokensMetricBuilder_ != null) { + result.metric_ = inputTokensMetricBuilder_.build(); + } + if (metricCase_ == 2 && cacheReadInputTokensMetricBuilder_ != null) { + result.metric_ = cacheReadInputTokensMetricBuilder_.build(); + } + if (metricCase_ == 3 && cacheWriteInputTokensMetricBuilder_ != null) { + result.metric_ = cacheWriteInputTokensMetricBuilder_.build(); + } + if (metricCase_ == 4 && outputTokensMetricBuilder_ != null) { + result.metric_ = outputTokensMetricBuilder_.build(); + } + if (metricCase_ == 5 && webSearchRequestsMetricBuilder_ != null) { + result.metric_ = webSearchRequestsMetricBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .getDefaultInstance()) return this; + switch (other.getMetricCase()) { + case INPUT_TOKENS_METRIC: + { + mergeInputTokensMetric(other.getInputTokensMetric()); + break; + } + case CACHE_READ_INPUT_TOKENS_METRIC: + { + mergeCacheReadInputTokensMetric(other.getCacheReadInputTokensMetric()); + break; + } + case CACHE_WRITE_INPUT_TOKENS_METRIC: + { + mergeCacheWriteInputTokensMetric(other.getCacheWriteInputTokensMetric()); + break; + } + case OUTPUT_TOKENS_METRIC: + { + mergeOutputTokensMetric(other.getOutputTokensMetric()); + break; + } + case WEB_SEARCH_REQUESTS_METRIC: + { + mergeWebSearchRequestsMetric(other.getWebSearchRequestsMetric()); + break; + } + case METRIC_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetInputTokensMetricFieldBuilder().getBuilder(), + extensionRegistry); + metricCase_ = 1; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetCacheReadInputTokensMetricFieldBuilder().getBuilder(), + extensionRegistry); + metricCase_ = 2; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetCacheWriteInputTokensMetricFieldBuilder().getBuilder(), + extensionRegistry); + metricCase_ = 3; + break; + } // case 26 + case 34: + { + input.readMessage( + internalGetOutputTokensMetricFieldBuilder().getBuilder(), + extensionRegistry); + metricCase_ = 4; + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetWebSearchRequestsMetricFieldBuilder().getBuilder(), + extensionRegistry); + metricCase_ = 5; + break; + } // case 42 + 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 metricCase_ = 0; + private java.lang.Object metric_; + + public MetricCase getMetricCase() { + return MetricCase.forNumber(metricCase_); + } + + public Builder clearMetric() { + metricCase_ = 0; + metric_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetricOrBuilder> + inputTokensMetricBuilder_; + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasInputTokensMetric() { + return metricCase_ == 1; + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric + getInputTokensMetric() { + if (inputTokensMetricBuilder_ == null) { + if (metricCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance(); + } else { + if (metricCase_ == 1) { + return inputTokensMetricBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + value) { + if (inputTokensMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metric_ = value; + onChanged(); + } else { + inputTokensMetricBuilder_.setMessage(value); + } + metricCase_ = 1; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric.Builder + builderForValue) { + if (inputTokensMetricBuilder_ == null) { + metric_ = builderForValue.build(); + onChanged(); + } else { + inputTokensMetricBuilder_.setMessage(builderForValue.build()); + } + metricCase_ = 1; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric + value) { + if (inputTokensMetricBuilder_ == null) { + if (metricCase_ == 1 + && metric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance()) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.InputTokensMetric) + metric_) + .mergeFrom(value) + .buildPartial(); + } else { + metric_ = value; + } + onChanged(); + } else { + if (metricCase_ == 1) { + inputTokensMetricBuilder_.mergeFrom(value); + } else { + inputTokensMetricBuilder_.setMessage(value); + } + } + metricCase_ = 1; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearInputTokensMetric() { + if (inputTokensMetricBuilder_ == null) { + if (metricCase_ == 1) { + metricCase_ = 0; + metric_ = null; + onChanged(); + } + } else { + if (metricCase_ == 1) { + metricCase_ = 0; + metric_ = null; + } + inputTokensMetricBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder + getInputTokensMetricBuilder() { + return internalGetInputTokensMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetricOrBuilder + getInputTokensMetricOrBuilder() { + if ((metricCase_ == 1) && (inputTokensMetricBuilder_ != null)) { + return inputTokensMetricBuilder_.getMessageOrBuilder(); + } else { + if (metricCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens read from the prediction endpoint input.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.InputTokensMetric input_tokens_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetricOrBuilder> + internalGetInputTokensMetricFieldBuilder() { + if (inputTokensMetricBuilder_ == null) { + if (!(metricCase_ == 1)) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.getDefaultInstance(); + } + inputTokensMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetricOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .InputTokensMetric) + metric_, + getParentForChildren(), + isClean()); + metric_ = null; + } + metricCase_ = 1; + onChanged(); + return inputTokensMetricBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetricOrBuilder> + cacheReadInputTokensMetricBuilder_; + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheReadInputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasCacheReadInputTokensMetric() { + return metricCase_ == 2; + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheReadInputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric + getCacheReadInputTokensMetric() { + if (cacheReadInputTokensMetricBuilder_ == null) { + if (metricCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } else { + if (metricCase_ == 2) { + return cacheReadInputTokensMetricBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCacheReadInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + value) { + if (cacheReadInputTokensMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metric_ = value; + onChanged(); + } else { + cacheReadInputTokensMetricBuilder_.setMessage(value); + } + metricCase_ = 2; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCacheReadInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric.Builder + builderForValue) { + if (cacheReadInputTokensMetricBuilder_ == null) { + metric_ = builderForValue.build(); + onChanged(); + } else { + cacheReadInputTokensMetricBuilder_.setMessage(builderForValue.build()); + } + metricCase_ = 2; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCacheReadInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric + value) { + if (cacheReadInputTokensMetricBuilder_ == null) { + if (metricCase_ == 2 + && metric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance()) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric) + metric_) + .mergeFrom(value) + .buildPartial(); + } else { + metric_ = value; + } + onChanged(); + } else { + if (metricCase_ == 2) { + cacheReadInputTokensMetricBuilder_.mergeFrom(value); + } else { + cacheReadInputTokensMetricBuilder_.setMessage(value); + } + } + metricCase_ = 2; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCacheReadInputTokensMetric() { + if (cacheReadInputTokensMetricBuilder_ == null) { + if (metricCase_ == 2) { + metricCase_ = 0; + metric_ = null; + onChanged(); + } + } else { + if (metricCase_ == 2) { + metricCase_ = 0; + metric_ = null; + } + cacheReadInputTokensMetricBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder + getCacheReadInputTokensMetricBuilder() { + return internalGetCacheReadInputTokensMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetricOrBuilder + getCacheReadInputTokensMetricOrBuilder() { + if ((metricCase_ == 2) && (cacheReadInputTokensMetricBuilder_ != null)) { + return cacheReadInputTokensMetricBuilder_.getMessageOrBuilder(); + } else { + if (metricCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens read from the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetricOrBuilder> + internalGetCacheReadInputTokensMetricFieldBuilder() { + if (cacheReadInputTokensMetricBuilder_ == null) { + if (!(metricCase_ == 2)) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.getDefaultInstance(); + } + cacheReadInputTokensMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetricOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheReadInputTokensMetric) + metric_, + getParentForChildren(), + isClean()); + metric_ = null; + } + metricCase_ = 2; + onChanged(); + return cacheReadInputTokensMetricBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetricOrBuilder> + cacheWriteInputTokensMetricBuilder_; + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the cacheWriteInputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasCacheWriteInputTokensMetric() { + return metricCase_ == 3; + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The cacheWriteInputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric + getCacheWriteInputTokensMetric() { + if (cacheWriteInputTokensMetricBuilder_ == null) { + if (metricCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } else { + if (metricCase_ == 3) { + return cacheWriteInputTokensMetricBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCacheWriteInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + value) { + if (cacheWriteInputTokensMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metric_ = value; + onChanged(); + } else { + cacheWriteInputTokensMetricBuilder_.setMessage(value); + } + metricCase_ = 3; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCacheWriteInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric.Builder + builderForValue) { + if (cacheWriteInputTokensMetricBuilder_ == null) { + metric_ = builderForValue.build(); + onChanged(); + } else { + cacheWriteInputTokensMetricBuilder_.setMessage(builderForValue.build()); + } + metricCase_ = 3; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCacheWriteInputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric + value) { + if (cacheWriteInputTokensMetricBuilder_ == null) { + if (metricCase_ == 3 + && metric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance()) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric) + metric_) + .mergeFrom(value) + .buildPartial(); + } else { + metric_ = value; + } + onChanged(); + } else { + if (metricCase_ == 3) { + cacheWriteInputTokensMetricBuilder_.mergeFrom(value); + } else { + cacheWriteInputTokensMetricBuilder_.setMessage(value); + } + } + metricCase_ = 3; + return this; + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCacheWriteInputTokensMetric() { + if (cacheWriteInputTokensMetricBuilder_ == null) { + if (metricCase_ == 3) { + metricCase_ = 0; + metric_ = null; + onChanged(); + } + } else { + if (metricCase_ == 3) { + metricCase_ = 0; + metric_ = null; + } + cacheWriteInputTokensMetricBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder + getCacheWriteInputTokensMetricBuilder() { + return internalGetCacheWriteInputTokensMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetricOrBuilder + getCacheWriteInputTokensMetricOrBuilder() { + if ((metricCase_ == 3) && (cacheWriteInputTokensMetricBuilder_ != null)) { + return cacheWriteInputTokensMetricBuilder_.getMessageOrBuilder(); + } else { + if (metricCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Input tokens written to the cache.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetricOrBuilder> + internalGetCacheWriteInputTokensMetricFieldBuilder() { + if (cacheWriteInputTokensMetricBuilder_ == null) { + if (!(metricCase_ == 3)) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.getDefaultInstance(); + } + cacheWriteInputTokensMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetricOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .CacheWriteInputTokensMetric) + metric_, + getParentForChildren(), + isClean()); + metric_ = null; + } + metricCase_ = 3; + onChanged(); + return cacheWriteInputTokensMetricBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetricOrBuilder> + outputTokensMetricBuilder_; + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the outputTokensMetric field is set. + */ + @java.lang.Override + public boolean hasOutputTokensMetric() { + return metricCase_ == 4; + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The outputTokensMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric + getOutputTokensMetric() { + if (outputTokensMetricBuilder_ == null) { + if (metricCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance(); + } else { + if (metricCase_ == 4) { + return outputTokensMetricBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setOutputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + value) { + if (outputTokensMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metric_ = value; + onChanged(); + } else { + outputTokensMetricBuilder_.setMessage(value); + } + metricCase_ = 4; + return this; + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setOutputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric.Builder + builderForValue) { + if (outputTokensMetricBuilder_ == null) { + metric_ = builderForValue.build(); + onChanged(); + } else { + outputTokensMetricBuilder_.setMessage(builderForValue.build()); + } + metricCase_ = 4; + return this; + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeOutputTokensMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric + value) { + if (outputTokensMetricBuilder_ == null) { + if (metricCase_ == 4 + && metric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance()) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.OutputTokensMetric) + metric_) + .mergeFrom(value) + .buildPartial(); + } else { + metric_ = value; + } + onChanged(); + } else { + if (metricCase_ == 4) { + outputTokensMetricBuilder_.mergeFrom(value); + } else { + outputTokensMetricBuilder_.setMessage(value); + } + } + metricCase_ = 4; + return this; + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearOutputTokensMetric() { + if (outputTokensMetricBuilder_ == null) { + if (metricCase_ == 4) { + metricCase_ = 0; + metric_ = null; + onChanged(); + } + } else { + if (metricCase_ == 4) { + metricCase_ = 0; + metric_ = null; + } + outputTokensMetricBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder + getOutputTokensMetricBuilder() { + return internalGetOutputTokensMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetricOrBuilder + getOutputTokensMetricOrBuilder() { + if ((metricCase_ == 4) && (outputTokensMetricBuilder_ != null)) { + return outputTokensMetricBuilder_.getMessageOrBuilder(); + } else { + if (metricCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Output tokens returned from the prediction endpoint.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.OutputTokensMetric output_tokens_metric = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetricOrBuilder> + internalGetOutputTokensMetricFieldBuilder() { + if (outputTokensMetricBuilder_ == null) { + if (!(metricCase_ == 4)) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.getDefaultInstance(); + } + outputTokensMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetricOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .OutputTokensMetric) + metric_, + getParentForChildren(), + isClean()); + metric_ = null; + } + metricCase_ = 4; + onChanged(); + return outputTokensMetricBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetricOrBuilder> + webSearchRequestsMetricBuilder_; + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the webSearchRequestsMetric field is set. + */ + @java.lang.Override + public boolean hasWebSearchRequestsMetric() { + return metricCase_ == 5; + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The webSearchRequestsMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric + getWebSearchRequestsMetric() { + if (webSearchRequestsMetricBuilder_ == null) { + if (metricCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } else { + if (metricCase_ == 5) { + return webSearchRequestsMetricBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setWebSearchRequestsMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + value) { + if (webSearchRequestsMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + metric_ = value; + onChanged(); + } else { + webSearchRequestsMetricBuilder_.setMessage(value); + } + metricCase_ = 5; + return this; + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setWebSearchRequestsMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric.Builder + builderForValue) { + if (webSearchRequestsMetricBuilder_ == null) { + metric_ = builderForValue.build(); + onChanged(); + } else { + webSearchRequestsMetricBuilder_.setMessage(builderForValue.build()); + } + metricCase_ = 5; + return this; + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeWebSearchRequestsMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric + value) { + if (webSearchRequestsMetricBuilder_ == null) { + if (metricCase_ == 5 + && metric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance()) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric) + metric_) + .mergeFrom(value) + .buildPartial(); + } else { + metric_ = value; + } + onChanged(); + } else { + if (metricCase_ == 5) { + webSearchRequestsMetricBuilder_.mergeFrom(value); + } else { + webSearchRequestsMetricBuilder_.setMessage(value); + } + } + metricCase_ = 5; + return this; + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearWebSearchRequestsMetric() { + if (webSearchRequestsMetricBuilder_ == null) { + if (metricCase_ == 5) { + metricCase_ = 0; + metric_ = null; + onChanged(); + } + } else { + if (metricCase_ == 5) { + metricCase_ = 0; + metric_ = null; + } + webSearchRequestsMetricBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder + getWebSearchRequestsMetricBuilder() { + return internalGetWebSearchRequestsMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetricOrBuilder + getWebSearchRequestsMetricOrBuilder() { + if ((metricCase_ == 5) && (webSearchRequestsMetricBuilder_ != null)) { + return webSearchRequestsMetricBuilder_.getMessageOrBuilder(); + } else { + if (metricCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + } + + /** + * + * + *
+           * Output only. Web search requests executed by the model.
+           * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.WebSearchRequestsMetric web_search_requests_metric = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetricOrBuilder> + internalGetWebSearchRequestsMetricFieldBuilder() { + if (webSearchRequestsMetricBuilder_ == null) { + if (!(metricCase_ == 5)) { + metric_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.getDefaultInstance(); + } + webSearchRequestsMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetricOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .WebSearchRequestsMetric) + metric_, + getParentForChildren(), + isClean()); + metric_ = null; + } + metricCase_ = 5; + onChanged(); + return webSearchRequestsMetricBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AiPlatformManagedModelUsageMetric 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CombinedRequestInputTokensRangeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + long getStartValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + boolean hasEndValue(); + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + long getEndValue(); + } + + /** + * + * + *
+       * The range of aggregated input token values covered by the SKU.
+       *
+       * A request to a managed model has an aggregated input token value
+       * determined by the sum of the metric values of the input token metrics.
+       *
+       * * input tokens
+       * * cache read input tokens
+       * * cache write input tokens
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange} + */ + public static final class CombinedRequestInputTokensRange + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + CombinedRequestInputTokensRangeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CombinedRequestInputTokensRange"); + } + + // Use CombinedRequestInputTokensRange.newBuilder() to construct. + private CombinedRequestInputTokensRange( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CombinedRequestInputTokensRange() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.Builder + .class); + } + + private int bitField0_; + public static final int START_VALUE_FIELD_NUMBER = 1; + private long startValue_ = 0L; + + /** + * + * + *
+         * Output only. The inclusive lower bound of the range.
+         * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + public static final int END_VALUE_FIELD_NUMBER = 2; + private long endValue_ = 0L; + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. The exclusive upper bound of the range.
+         * If no end value is specified, the range is unbounded from above.
+         * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + 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 (startValue_ != 0L) { + output.writeInt64(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt64(2, endValue_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (startValue_ != 0L) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(1, startValue_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, endValue_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + obj; + + if (getStartValue() != other.getStartValue()) return false; + if (hasEndValue() != other.hasEndValue()) return false; + if (hasEndValue()) { + if (getEndValue() != other.getEndValue()) 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) + START_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getStartValue()); + if (hasEndValue()) { + hash = (37 * hash) + END_VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getEndValue()); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * The range of aggregated input token values covered by the SKU.
+         *
+         * A request to a managed model has an aggregated input token value
+         * determined by the sum of the metric values of the input token metrics.
+         *
+         * * input tokens
+         * * cache read input tokens
+         * * cache write input tokens
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + startValue_ = 0L; + endValue_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startValue_ = startValue_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endValue_ = endValue_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + .getDefaultInstance()) return this; + if (other.getStartValue() != 0L) { + setStartValue(other.getStartValue()); + } + if (other.hasEndValue()) { + setEndValue(other.getEndValue()); + } + 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 8: + { + startValue_ = input.readInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: + { + endValue_ = input.readInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + 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 long startValue_; + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The startValue. + */ + @java.lang.Override + public long getStartValue() { + return startValue_; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The startValue to set. + * @return This builder for chaining. + */ + public Builder setStartValue(long value) { + + startValue_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The inclusive lower bound of the range.
+           * 
+ * + * int64 start_value = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStartValue() { + bitField0_ = (bitField0_ & ~0x00000001); + startValue_ = 0L; + onChanged(); + return this; + } + + private long endValue_; + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the endValue field is set. + */ + @java.lang.Override + public boolean hasEndValue() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endValue. + */ + @java.lang.Override + public long getEndValue() { + return endValue_; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The endValue to set. + * @return This builder for chaining. + */ + public Builder setEndValue(long value) { + + endValue_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The exclusive upper bound of the range.
+           * If no end value is specified, the range is unbounded from above.
+           * 
+ * + * optional int64 end_value = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearEndValue() { + bitField0_ = (bitField0_ & ~0x00000002); + endValue_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CombinedRequestInputTokensRange 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface ProvisionedThroughputOverageOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. The service whose usage the overage SKU applied to.
+         * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The service. + */ + java.lang.String getService(); + + /** + * + * + *
+         * Output only. The service whose usage the overage SKU applied to.
+         * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for service. + */ + com.google.protobuf.ByteString getServiceBytes(); + } + + /** + * + * + *
+       * Additional details present for historical provisioned throughput
+       * "overage" SKUs that applied charges only to usage above the customer's
+       * provisioned throughput quota threshold.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage} + */ + public static final class ProvisionedThroughputOverage + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + ProvisionedThroughputOverageOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ProvisionedThroughputOverage"); + } + + // Use ProvisionedThroughputOverage.newBuilder() to construct. + private ProvisionedThroughputOverage( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ProvisionedThroughputOverage() { + service_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.Builder.class); + } + + public static final int SERVICE_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object service_ = ""; + + /** + * + * + *
+         * Output only. The service whose usage the overage SKU applied to.
+         * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The service. + */ + @java.lang.Override + public java.lang.String getService() { + java.lang.Object ref = service_; + 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(); + service_ = s; + return s; + } + } + + /** + * + * + *
+         * Output only. The service whose usage the overage SKU applied to.
+         * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for service. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceBytes() { + java.lang.Object ref = service_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + service_ = 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.GeneratedMessage.isStringEmpty(service_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, service_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(service_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, service_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + obj; + + if (!getService().equals(other.getService())) 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) + SERVICE_FIELD_NUMBER; + hash = (53 * hash) + getService().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * Additional details present for historical provisioned throughput
+         * "overage" SKUs that applied charges only to usage above the customer's
+         * provisioned throughput quota threshold.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + service_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.service_ = service_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + .getDefaultInstance()) return this; + if (!other.getService().isEmpty()) { + service_ = other.service_; + bitField0_ |= 0x00000001; + 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: + { + service_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 service_ = ""; + + /** + * + * + *
+           * Output only. The service whose usage the overage SKU applied to.
+           * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The service. + */ + public java.lang.String getService() { + java.lang.Object ref = service_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + service_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+           * Output only. The service whose usage the overage SKU applied to.
+           * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for service. + */ + public com.google.protobuf.ByteString getServiceBytes() { + java.lang.Object ref = service_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + service_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+           * Output only. The service whose usage the overage SKU applied to.
+           * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The service to set. + * @return This builder for chaining. + */ + public Builder setService(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + service_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The service whose usage the overage SKU applied to.
+           * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearService() { + service_ = getDefaultInstance().getService(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The service whose usage the overage SKU applied to.
+           * 
+ * + * + * string service = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for service to set. + * @return This builder for chaining. + */ + public Builder setServiceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + service_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ProvisionedThroughputOverage 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + TIERED_PRICE(7), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 7: + return TIERED_PRICE; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int TIERED_PRICE_FIELD_NUMBER = 7; + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + @java.lang.Override + public boolean hasTieredPrice() { + return priceStructureCase_ == 7; + } + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice() { + if (priceStructureCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. [Tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * of the SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder() { + if (priceStructureCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + + public static final int USAGE_METRIC_FIELD_NUMBER = 1; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + usageMetric_; + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usageMetric field is set. + */ + @java.lang.Override + public boolean hasUsageMetric() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageMetric. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + getUsageMetric() { + return usageMetric_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.getDefaultInstance() + : usageMetric_; + } + + /** + * + * + *
+       * Output only. The usage metric that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder + getUsageMetricOrBuilder() { + return usageMetric_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.getDefaultInstance() + : usageMetric_; + } + + public static final int LOCATION_FIELD_NUMBER = 3; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + location_; + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + @java.lang.Override + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getLocation() { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + + /** + * + * + *
+       * Output only. The model endpoint location where usage is priced by this
+       * SKU. If no location is specified, the SKU applies to usage in all
+       * locations.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder() { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + + public static final int PREDICTION_MODE_FIELD_NUMBER = 4; + private int predictionMode_ = 0; + + /** + * + * + *
+       * Output only. The prediction mode of requests that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for predictionMode. + */ + @java.lang.Override + public int getPredictionModeValue() { + return predictionMode_; + } + + /** + * + * + *
+       * Output only. The prediction mode of requests that the SKU applies to.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The predictionMode. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + getPredictionMode() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode.forNumber(predictionMode_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode.UNRECOGNIZED + : result; + } + + public static final int COMBINED_REQUEST_INPUT_TOKENS_RANGE_FIELD_NUMBER = 5; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + combinedRequestInputTokensRange_; + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the combinedRequestInputTokensRange field is set. + */ + @java.lang.Override + public boolean hasCombinedRequestInputTokensRange() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The combinedRequestInputTokensRange. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + getCombinedRequestInputTokensRange() { + return combinedRequestInputTokensRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.getDefaultInstance() + : combinedRequestInputTokensRange_; + } + + /** + * + * + *
+       * Output only. The range of aggregated input token values covered by the
+       * SKU. Unset if the SKU is not scoped to a particular range. A request is
+       * in scope for this SKU if its aggregated input token value falls within
+       * the range. The collection of SKUs in effect at any given time scoped to
+       * a particular aggregated input token value range will cover all possible
+       * values without overlap. Such a collection of SKUs form a "tiered" price
+       * structure over the possible value, with each SKU acting as a "tier".
+       *
+       * NOTE: This is distinct from a SKU with [tiered
+       * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder + getCombinedRequestInputTokensRangeOrBuilder() { + return combinedRequestInputTokensRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.getDefaultInstance() + : combinedRequestInputTokensRange_; + } + + public static final int PROVISIONED_THROUGHPUT_OVERAGE_FIELD_NUMBER = 6; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + provisionedThroughputOverage_; + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the provisionedThroughputOverage field is set. + */ + @java.lang.Override + public boolean hasProvisionedThroughputOverage() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The provisionedThroughputOverage. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + getProvisionedThroughputOverage() { + return provisionedThroughputOverage_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.getDefaultInstance() + : provisionedThroughputOverage_; + } + + /** + * + * + *
+       * Output only. Set when the SKU is a historical provisioned throughput
+       * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+       * excess of provisioned throughput quota is now metered as standard
+       * usage. This field is set only in historical SKU timeline entries for
+       * overage SKUs belonging to partners that offered provisioned throughput
+       * for AI Platform managed model products prior to the unification of
+       * standard usage and provisioned throughput overage metering.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder + getProvisionedThroughputOverageOrBuilder() { + return provisionedThroughputOverage_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.getDefaultInstance() + : provisionedThroughputOverage_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUsageMetric()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getLocation()); + } + if (predictionMode_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode.PREDICTION_MODE_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, predictionMode_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(5, getCombinedRequestInputTokensRange()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(6, getProvisionedThroughputOverage()); + } + if (priceStructureCase_ == 7) { + output.writeMessage( + 7, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUsageMetric()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getLocation()); + } + if (predictionMode_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode.PREDICTION_MODE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, predictionMode_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, getCombinedRequestInputTokensRange()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, getProvisionedThroughputOverage()); + } + if (priceStructureCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 7, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + obj; + + if (hasUsageMetric() != other.hasUsageMetric()) return false; + if (hasUsageMetric()) { + if (!getUsageMetric().equals(other.getUsageMetric())) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation().equals(other.getLocation())) return false; + } + if (predictionMode_ != other.predictionMode_) return false; + if (hasCombinedRequestInputTokensRange() != other.hasCombinedRequestInputTokensRange()) + return false; + if (hasCombinedRequestInputTokensRange()) { + if (!getCombinedRequestInputTokensRange() + .equals(other.getCombinedRequestInputTokensRange())) return false; + } + if (hasProvisionedThroughputOverage() != other.hasProvisionedThroughputOverage()) + return false; + if (hasProvisionedThroughputOverage()) { + if (!getProvisionedThroughputOverage().equals(other.getProvisionedThroughputOverage())) + return false; + } + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 7: + if (!getTieredPrice().equals(other.getTieredPrice())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUsageMetric()) { + hash = (37 * hash) + USAGE_METRIC_FIELD_NUMBER; + hash = (53 * hash) + getUsageMetric().hashCode(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (37 * hash) + PREDICTION_MODE_FIELD_NUMBER; + hash = (53 * hash) + predictionMode_; + if (hasCombinedRequestInputTokensRange()) { + hash = (37 * hash) + COMBINED_REQUEST_INPUT_TOKENS_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getCombinedRequestInputTokensRange().hashCode(); + } + if (hasProvisionedThroughputOverage()) { + hash = (37 * hash) + PROVISIONED_THROUGHPUT_OVERAGE_FIELD_NUMBER; + hash = (53 * hash) + getProvisionedThroughputOverage().hashCode(); + } + switch (priceStructureCase_) { + case 7: + hash = (37 * hash) + TIERED_PRICE_FIELD_NUMBER; + hash = (53 * hash) + getTieredPrice().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing usage of an [AI Platform Managed Model
+       * (MaaS)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/use-partner-models).
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUsageMetricFieldBuilder(); + internalGetLocationFieldBuilder(); + internalGetCombinedRequestInputTokensRangeFieldBuilder(); + internalGetProvisionedThroughputOverageFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (tieredPriceBuilder_ != null) { + tieredPriceBuilder_.clear(); + } + usageMetric_ = null; + if (usageMetricBuilder_ != null) { + usageMetricBuilder_.dispose(); + usageMetricBuilder_ = null; + } + location_ = null; + if (locationBuilder_ != null) { + locationBuilder_.dispose(); + locationBuilder_ = null; + } + predictionMode_ = 0; + combinedRequestInputTokensRange_ = null; + if (combinedRequestInputTokensRangeBuilder_ != null) { + combinedRequestInputTokensRangeBuilder_.dispose(); + combinedRequestInputTokensRangeBuilder_ = null; + } + provisionedThroughputOverage_ = null; + if (provisionedThroughputOverageBuilder_ != null) { + provisionedThroughputOverageBuilder_.dispose(); + provisionedThroughputOverageBuilder_ = null; + } + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.usageMetric_ = + usageMetricBuilder_ == null ? usageMetric_ : usageMetricBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.location_ = locationBuilder_ == null ? location_ : locationBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.predictionMode_ = predictionMode_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.combinedRequestInputTokensRange_ = + combinedRequestInputTokensRangeBuilder_ == null + ? combinedRequestInputTokensRange_ + : combinedRequestInputTokensRangeBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.provisionedThroughputOverage_ = + provisionedThroughputOverageBuilder_ == null + ? provisionedThroughputOverage_ + : provisionedThroughputOverageBuilder_.build(); + to_bitField0_ |= 0x00000008; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + result) { + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 7 && tieredPriceBuilder_ != null) { + result.priceStructure_ = tieredPriceBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance()) return this; + if (other.hasUsageMetric()) { + mergeUsageMetric(other.getUsageMetric()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.predictionMode_ != 0) { + setPredictionModeValue(other.getPredictionModeValue()); + } + if (other.hasCombinedRequestInputTokensRange()) { + mergeCombinedRequestInputTokensRange(other.getCombinedRequestInputTokensRange()); + } + if (other.hasProvisionedThroughputOverage()) { + mergeProvisionedThroughputOverage(other.getProvisionedThroughputOverage()); + } + switch (other.getPriceStructureCase()) { + case TIERED_PRICE: + { + mergeTieredPrice(other.getTieredPrice()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetUsageMetricFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 26: + { + input.readMessage( + internalGetLocationFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + predictionMode_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 42: + { + input.readMessage( + internalGetCombinedRequestInputTokensRangeFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetProvisionedThroughputOverageFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetTieredPriceFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 7; + break; + } // case 58 + 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 priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder> + tieredPriceBuilder_; + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the tieredPrice field is set. + */ + @java.lang.Override + public boolean hasTieredPrice() { + return priceStructureCase_ == 7; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The tieredPrice. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice getTieredPrice() { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } else { + if (priceStructureCase_ == 7) { + return tieredPriceBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice value) { + if (tieredPriceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + tieredPriceBuilder_.setMessage(value); + } + priceStructureCase_ = 7; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder + builderForValue) { + if (tieredPriceBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + tieredPriceBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 7; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeTieredPrice( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice value) { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 7 + && priceStructure_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance()) { + priceStructure_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 7) { + tieredPriceBuilder_.mergeFrom(value); + } else { + tieredPriceBuilder_.setMessage(value); + } + } + priceStructureCase_ = 7; + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearTieredPrice() { + if (tieredPriceBuilder_ == null) { + if (priceStructureCase_ == 7) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 7) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + tieredPriceBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder + getTieredPriceBuilder() { + return internalGetTieredPriceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder + getTieredPriceOrBuilder() { + if ((priceStructureCase_ == 7) && (tieredPriceBuilder_ != null)) { + return tieredPriceBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. [Tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * of the SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice tiered_price = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder> + internalGetTieredPriceFieldBuilder() { + if (tieredPriceBuilder_ == null) { + if (!(priceStructureCase_ == 7)) { + priceStructure_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + tieredPriceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + priceStructure_, + getParentForChildren(), + isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 7; + onChanged(); + return tieredPriceBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + usageMetric_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder> + usageMetricBuilder_; + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usageMetric field is set. + */ + public boolean hasUsageMetric() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageMetric. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + getUsageMetric() { + if (usageMetricBuilder_ == null) { + return usageMetric_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .getDefaultInstance() + : usageMetric_; + } else { + return usageMetricBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUsageMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + value) { + if (usageMetricBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + usageMetric_ = value; + } else { + usageMetricBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUsageMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.Builder + builderForValue) { + if (usageMetricBuilder_ == null) { + usageMetric_ = builderForValue.build(); + } else { + usageMetricBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUsageMetric( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric + value) { + if (usageMetricBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && usageMetric_ != null + && usageMetric_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .getDefaultInstance()) { + getUsageMetricBuilder().mergeFrom(value); + } else { + usageMetric_ = value; + } + } else { + usageMetricBuilder_.mergeFrom(value); + } + if (usageMetric_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUsageMetric() { + bitField0_ = (bitField0_ & ~0x00000002); + usageMetric_ = null; + if (usageMetricBuilder_ != null) { + usageMetricBuilder_.dispose(); + usageMetricBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.Builder + getUsageMetricBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetUsageMetricFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder + getUsageMetricOrBuilder() { + if (usageMetricBuilder_ != null) { + return usageMetricBuilder_.getMessageOrBuilder(); + } else { + return usageMetric_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric + .getDefaultInstance() + : usageMetric_; + } + } + + /** + * + * + *
+         * Output only. The usage metric that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric usage_metric = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .AiPlatformManagedModelUsageMetricOrBuilder> + internalGetUsageMetricFieldBuilder() { + if (usageMetricBuilder_ == null) { + usageMetricBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetric.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetricOrBuilder>( + getUsageMetric(), getParentForChildren(), isClean()); + usageMetric_ = null; + } + return usageMetricBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + location_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder> + locationBuilder_; + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getLocation() { + if (locationBuilder_ == null) { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } else { + return locationBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder + builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && location_ != null + && location_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance()) { + getLocationBuilder().mergeFrom(value); + } else { + location_ = value; + } + } else { + locationBuilder_.mergeFrom(value); + } + if (location_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearLocation() { + bitField0_ = (bitField0_ & ~0x00000004); + location_ = null; + if (locationBuilder_ != null) { + locationBuilder_.dispose(); + locationBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder + getLocationBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetLocationFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + } + + /** + * + * + *
+         * Output only. The model endpoint location where usage is priced by this
+         * SKU. If no location is specified, the SKU applies to usage in all
+         * locations.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder> + internalGetLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder>( + getLocation(), getParentForChildren(), isClean()); + location_ = null; + } + return locationBuilder_; + } + + private int predictionMode_ = 0; + + /** + * + * + *
+         * Output only. The prediction mode of requests that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for predictionMode. + */ + @java.lang.Override + public int getPredictionModeValue() { + return predictionMode_; + } + + /** + * + * + *
+         * Output only. The prediction mode of requests that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for predictionMode to set. + * @return This builder for chaining. + */ + public Builder setPredictionModeValue(int value) { + predictionMode_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The prediction mode of requests that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The predictionMode. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + getPredictionMode() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.PredictionMode.forNumber(predictionMode_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. The prediction mode of requests that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The predictionMode to set. + * @return This builder for chaining. + */ + public Builder setPredictionMode( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .PredictionMode + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + predictionMode_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The prediction mode of requests that the SKU applies to.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionMode prediction_mode = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearPredictionMode() { + bitField0_ = (bitField0_ & ~0x00000008); + predictionMode_ = 0; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + combinedRequestInputTokensRange_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder> + combinedRequestInputTokensRangeBuilder_; + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the combinedRequestInputTokensRange field is set. + */ + public boolean hasCombinedRequestInputTokensRange() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The combinedRequestInputTokensRange. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + getCombinedRequestInputTokensRange() { + if (combinedRequestInputTokensRangeBuilder_ == null) { + return combinedRequestInputTokensRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + .getDefaultInstance() + : combinedRequestInputTokensRange_; + } else { + return combinedRequestInputTokensRangeBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCombinedRequestInputTokensRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + value) { + if (combinedRequestInputTokensRangeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + combinedRequestInputTokensRange_ = value; + } else { + combinedRequestInputTokensRangeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCombinedRequestInputTokensRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.Builder + builderForValue) { + if (combinedRequestInputTokensRangeBuilder_ == null) { + combinedRequestInputTokensRange_ = builderForValue.build(); + } else { + combinedRequestInputTokensRangeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCombinedRequestInputTokensRange( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange + value) { + if (combinedRequestInputTokensRangeBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && combinedRequestInputTokensRange_ != null + && combinedRequestInputTokensRange_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + .getDefaultInstance()) { + getCombinedRequestInputTokensRangeBuilder().mergeFrom(value); + } else { + combinedRequestInputTokensRange_ = value; + } + } else { + combinedRequestInputTokensRangeBuilder_.mergeFrom(value); + } + if (combinedRequestInputTokensRange_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCombinedRequestInputTokensRange() { + bitField0_ = (bitField0_ & ~0x00000010); + combinedRequestInputTokensRange_ = null; + if (combinedRequestInputTokensRangeBuilder_ != null) { + combinedRequestInputTokensRangeBuilder_.dispose(); + combinedRequestInputTokensRangeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.Builder + getCombinedRequestInputTokensRangeBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetCombinedRequestInputTokensRangeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder + getCombinedRequestInputTokensRangeOrBuilder() { + if (combinedRequestInputTokensRangeBuilder_ != null) { + return combinedRequestInputTokensRangeBuilder_.getMessageOrBuilder(); + } else { + return combinedRequestInputTokensRange_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange + .getDefaultInstance() + : combinedRequestInputTokensRange_; + } + } + + /** + * + * + *
+         * Output only. The range of aggregated input token values covered by the
+         * SKU. Unset if the SKU is not scoped to a particular range. A request is
+         * in scope for this SKU if its aggregated input token value falls within
+         * the range. The collection of SKUs in effect at any given time scoped to
+         * a particular aggregated input token value range will cover all possible
+         * values without overlap. Such a collection of SKUs form a "tiered" price
+         * structure over the possible value, with each SKU acting as a "tier".
+         *
+         * NOTE: This is distinct from a SKU with [tiered
+         * pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .CombinedRequestInputTokensRangeOrBuilder> + internalGetCombinedRequestInputTokensRangeFieldBuilder() { + if (combinedRequestInputTokensRangeBuilder_ == null) { + combinedRequestInputTokensRangeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRange.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.CombinedRequestInputTokensRangeOrBuilder>( + getCombinedRequestInputTokensRange(), getParentForChildren(), isClean()); + combinedRequestInputTokensRange_ = null; + } + return combinedRequestInputTokensRangeBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + provisionedThroughputOverage_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder> + provisionedThroughputOverageBuilder_; + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the provisionedThroughputOverage field is set. + */ + public boolean hasProvisionedThroughputOverage() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The provisionedThroughputOverage. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + getProvisionedThroughputOverage() { + if (provisionedThroughputOverageBuilder_ == null) { + return provisionedThroughputOverage_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + .getDefaultInstance() + : provisionedThroughputOverage_; + } else { + return provisionedThroughputOverageBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setProvisionedThroughputOverage( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + value) { + if (provisionedThroughputOverageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + provisionedThroughputOverage_ = value; + } else { + provisionedThroughputOverageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setProvisionedThroughputOverage( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.Builder + builderForValue) { + if (provisionedThroughputOverageBuilder_ == null) { + provisionedThroughputOverage_ = builderForValue.build(); + } else { + provisionedThroughputOverageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeProvisionedThroughputOverage( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage + value) { + if (provisionedThroughputOverageBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && provisionedThroughputOverage_ != null + && provisionedThroughputOverage_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + .getDefaultInstance()) { + getProvisionedThroughputOverageBuilder().mergeFrom(value); + } else { + provisionedThroughputOverage_ = value; + } + } else { + provisionedThroughputOverageBuilder_.mergeFrom(value); + } + if (provisionedThroughputOverage_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearProvisionedThroughputOverage() { + bitField0_ = (bitField0_ & ~0x00000020); + provisionedThroughputOverage_ = null; + if (provisionedThroughputOverageBuilder_ != null) { + provisionedThroughputOverageBuilder_.dispose(); + provisionedThroughputOverageBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.Builder + getProvisionedThroughputOverageBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetProvisionedThroughputOverageFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder + getProvisionedThroughputOverageOrBuilder() { + if (provisionedThroughputOverageBuilder_ != null) { + return provisionedThroughputOverageBuilder_.getMessageOrBuilder(); + } else { + return provisionedThroughputOverage_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage + .getDefaultInstance() + : provisionedThroughputOverage_; + } + } + + /** + * + * + *
+         * Output only. Set when the SKU is a historical provisioned throughput
+         * overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in
+         * excess of provisioned throughput quota is now metered as standard
+         * usage. This field is set only in historical SKU timeline entries for
+         * overage SKUs belonging to partners that offered provisioned throughput
+         * for AI Platform managed model products prior to the unification of
+         * standard usage and provisioned throughput overage metering.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage provisioned_throughput_overage = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverage.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .ProvisionedThroughputOverageOrBuilder> + internalGetProvisionedThroughputOverageFieldBuilder() { + if (provisionedThroughputOverageBuilder_ == null) { + provisionedThroughputOverageBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverage.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.ProvisionedThroughputOverageOrBuilder>( + getProvisionedThroughputOverage(), getParentForChildren(), isClean()); + provisionedThroughputOverage_ = null; + } + return provisionedThroughputOverageBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AiPlatformManagedModelUsageFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface AiPlatformProvisionedThroughputFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The duration of the provisioned throughput reservation
+       * in months.
+       * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + boolean hasTermDurationMonths(); + + /** + * + * + *
+       * Output only. The duration of the provisioned throughput reservation
+       * in months.
+       * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + int getTermDurationMonths(); + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return Whether the gsuPricePerUnit field is set. + */ + boolean hasGsuPricePerUnit(); + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return The gsuPricePerUnit. + */ + com.google.type.Money getGsuPricePerUnit(); + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + com.google.type.MoneyOrBuilder getGsuPricePerUnitOrBuilder(); + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + boolean hasLocation(); + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation + getLocation(); + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since provisioned throughput reservations are billed by duration, this
+       * will always be a time unit. The price unit of a provisioned throughput
+       * SKU is not necessarily the same as the reservation term.
+       * This field is unrelated to the [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The customary unit month ('mo') requires special handling to account
+       * for the variable duration of months. A price may be denominated in
+       * units of months, but the duration the reservation is active is measured
+       * in metric time and customers are billed on that basis. The exact hourly
+       * or per-second price can be calculated by dividing the monthly price
+       * by the number of hours or seconds in the desired month. A reservation
+       * active for N months is rarely billed exactly N times the monthly price.
+       * This is intended and is not a billing error.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since provisioned throughput reservations are billed by duration, this
+       * will always be a time unit. The price unit of a provisioned throughput
+       * SKU is not necessarily the same as the reservation term.
+       * This field is unrelated to the [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The customary unit month ('mo') requires special handling to account
+       * for the variable duration of months. A price may be denominated in
+       * units of months, but the duration the reservation is active is measured
+       * in metric time and customers are billed on that basis. The exact hourly
+       * or per-second price can be calculated by dividing the monthly price
+       * by the number of hours or seconds in the desired month. A reservation
+       * active for N months is rarely billed exactly N times the monthly price.
+       * This is intended and is not a billing error.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + .TermCase + getTermCase(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing reservation of [AI Platform Provisioned
+     * Throughput](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput).
+     *
+     * Customers may purchase provisioned throughput reservations for AI
+     * Platform managed model products. This provides the customer with
+     * provisioned throughput quota for a particular model and location. Model
+     * usage below the provisioned throughput quota threshold is voided and is
+     * not charged by the product's managed model usage fees.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee} + */ + public static final class AiPlatformProvisionedThroughputFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee) + AiPlatformProvisionedThroughputFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AiPlatformProvisionedThroughputFee"); + } + + // Use AiPlatformProvisionedThroughputFee.newBuilder() to construct. + private AiPlatformProvisionedThroughputFee( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AiPlatformProvisionedThroughputFee() { + unit_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder.class); + } + + private int bitField0_; + private int termCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object term_; + + public enum TermCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + TERM_DURATION_MONTHS(2), + TERM_NOT_SET(0); + private final int value; + + private TermCase(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 TermCase valueOf(int value) { + return forNumber(value); + } + + public static TermCase forNumber(int value) { + switch (value) { + case 2: + return TERM_DURATION_MONTHS; + case 0: + return TERM_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public TermCase getTermCase() { + return TermCase.forNumber(termCase_); + } + + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + GSU_PRICE_PER_UNIT(4), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 4: + return GSU_PRICE_PER_UNIT; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int TERM_DURATION_MONTHS_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Output only. The duration of the provisioned throughput reservation
+       * in months.
+       * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + @java.lang.Override + public boolean hasTermDurationMonths() { + return termCase_ == 2; + } + + /** + * + * + *
+       * Output only. The duration of the provisioned throughput reservation
+       * in months.
+       * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + @java.lang.Override + public int getTermDurationMonths() { + if (termCase_ == 2) { + return (java.lang.Integer) term_; + } + return 0; + } + + public static final int GSU_PRICE_PER_UNIT_FIELD_NUMBER = 4; + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return Whether the gsuPricePerUnit field is set. + */ + @java.lang.Override + public boolean hasGsuPricePerUnit() { + return priceStructureCase_ == 4; + } + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return The gsuPricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getGsuPricePerUnit() { + if (priceStructureCase_ == 4) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + /** + * + * + *
+       * The price per [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+       * per `unit`.
+       * A provisioned throughput reservation reserves a certain number of
+       * GSUs, and the customer is billed for those GSUs on a continuous basis
+       * for the duration of the reservation.
+       * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getGsuPricePerUnitOrBuilder() { + if (priceStructureCase_ == 4) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + public static final int LOCATION_FIELD_NUMBER = 1; + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + location_; + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + @java.lang.Override + public boolean hasLocation() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getLocation() { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + + /** + * + * + *
+       * Output only. The location where provisioned throughput is priced by
+       * this SKU.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder() { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + + public static final int UNIT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since provisioned throughput reservations are billed by duration, this
+       * will always be a time unit. The price unit of a provisioned throughput
+       * SKU is not necessarily the same as the reservation term.
+       * This field is unrelated to the [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The customary unit month ('mo') requires special handling to account
+       * for the variable duration of months. A price may be denominated in
+       * units of months, but the duration the reservation is active is measured
+       * in metric time and customers are billed on that basis. The exact hourly
+       * or per-second price can be calculated by dividing the monthly price
+       * by the number of hours or seconds in the desired month. A reservation
+       * active for N months is rarely billed exactly N times the monthly price.
+       * This is intended and is not a billing error.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since provisioned throughput reservations are billed by duration, this
+       * will always be a time unit. The price unit of a provisioned throughput
+       * SKU is not necessarily the same as the reservation term.
+       * This field is unrelated to the [Generative AI Scale Unit
+       * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The customary unit month ('mo') requires special handling to account
+       * for the variable duration of months. A price may be denominated in
+       * units of months, but the duration the reservation is active is measured
+       * in metric time and customers are billed on that basis. The exact hourly
+       * or per-second price can be calculated by dividing the monthly price
+       * by the number of hours or seconds in the desired month. A reservation
+       * active for N months is rarely billed exactly N times the monthly price.
+       * This is intended and is not a billing error.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getLocation()); + } + if (termCase_ == 2) { + output.writeInt32(2, (int) ((java.lang.Integer) term_)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, unit_); + } + if (priceStructureCase_ == 4) { + output.writeMessage(4, (com.google.type.Money) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getLocation()); + } + if (termCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeInt32Size( + 2, (int) ((java.lang.Integer) term_)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, unit_); + } + if (priceStructureCase_ == 4) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 4, (com.google.type.Money) priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + obj; + + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation().equals(other.getLocation())) return false; + } + if (!getUnit().equals(other.getUnit())) return false; + if (!getTermCase().equals(other.getTermCase())) return false; + switch (termCase_) { + case 2: + if (getTermDurationMonths() != other.getTermDurationMonths()) return false; + break; + case 0: + default: + } + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 4: + if (!getGsuPricePerUnit().equals(other.getGsuPricePerUnit())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + switch (termCase_) { + case 2: + hash = (37 * hash) + TERM_DURATION_MONTHS_FIELD_NUMBER; + hash = (53 * hash) + getTermDurationMonths(); + break; + case 0: + default: + } + switch (priceStructureCase_) { + case 4: + hash = (37 * hash) + GSU_PRICE_PER_UNIT_FIELD_NUMBER; + hash = (53 * hash) + getGsuPricePerUnit().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing reservation of [AI Platform Provisioned
+       * Throughput](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput).
+       *
+       * Customers may purchase provisioned throughput reservations for AI
+       * Platform managed model products. This provides the customer with
+       * provisioned throughput quota for a particular model and location. Model
+       * usage below the provisioned throughput quota threshold is voided and is
+       * not charged by the product's managed model usage fees.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetLocationFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (gsuPricePerUnitBuilder_ != null) { + gsuPricePerUnitBuilder_.clear(); + } + location_ = null; + if (locationBuilder_ != null) { + locationBuilder_.dispose(); + locationBuilder_ = null; + } + unit_ = ""; + termCase_ = 0; + term_ = null; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.location_ = locationBuilder_ == null ? location_ : locationBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.unit_ = unit_; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + result) { + result.termCase_ = termCase_; + result.term_ = this.term_; + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 4 && gsuPricePerUnitBuilder_ != null) { + result.priceStructure_ = gsuPricePerUnitBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance()) return this; + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000008; + onChanged(); + } + switch (other.getTermCase()) { + case TERM_DURATION_MONTHS: + { + setTermDurationMonths(other.getTermDurationMonths()); + break; + } + case TERM_NOT_SET: + { + break; + } + } + switch (other.getPriceStructureCase()) { + case GSU_PRICE_PER_UNIT: + { + mergeGsuPricePerUnit(other.getGsuPricePerUnit()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetLocationFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 10 + case 16: + { + term_ = input.readInt32(); + termCase_ = 2; + break; + } // case 16 + case 26: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + input.readMessage( + internalGetGsuPricePerUnitFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 4; + break; + } // case 34 + 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 termCase_ = 0; + private java.lang.Object term_; + + public TermCase getTermCase() { + return TermCase.forNumber(termCase_); + } + + public Builder clearTerm() { + termCase_ = 0; + term_ = null; + onChanged(); + return this; + } + + private int priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+         * Output only. The duration of the provisioned throughput reservation
+         * in months.
+         * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + public boolean hasTermDurationMonths() { + return termCase_ == 2; + } + + /** + * + * + *
+         * Output only. The duration of the provisioned throughput reservation
+         * in months.
+         * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + public int getTermDurationMonths() { + if (termCase_ == 2) { + return (java.lang.Integer) term_; + } + return 0; + } + + /** + * + * + *
+         * Output only. The duration of the provisioned throughput reservation
+         * in months.
+         * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The termDurationMonths to set. + * @return This builder for chaining. + */ + public Builder setTermDurationMonths(int value) { + + termCase_ = 2; + term_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The duration of the provisioned throughput reservation
+         * in months.
+         * 
+ * + * int32 term_duration_months = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTermDurationMonths() { + if (termCase_ == 2) { + termCase_ = 0; + term_ = null; + onChanged(); + } + return this; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + gsuPricePerUnitBuilder_; + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return Whether the gsuPricePerUnit field is set. + */ + @java.lang.Override + public boolean hasGsuPricePerUnit() { + return priceStructureCase_ == 4; + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + * + * @return The gsuPricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getGsuPricePerUnit() { + if (gsuPricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 4) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } else { + if (priceStructureCase_ == 4) { + return gsuPricePerUnitBuilder_.getMessage(); + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + public Builder setGsuPricePerUnit(com.google.type.Money value) { + if (gsuPricePerUnitBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + gsuPricePerUnitBuilder_.setMessage(value); + } + priceStructureCase_ = 4; + return this; + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + public Builder setGsuPricePerUnit(com.google.type.Money.Builder builderForValue) { + if (gsuPricePerUnitBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + gsuPricePerUnitBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 4; + return this; + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + public Builder mergeGsuPricePerUnit(com.google.type.Money value) { + if (gsuPricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 4 + && priceStructure_ != com.google.type.Money.getDefaultInstance()) { + priceStructure_ = + com.google.type.Money.newBuilder((com.google.type.Money) priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 4) { + gsuPricePerUnitBuilder_.mergeFrom(value); + } else { + gsuPricePerUnitBuilder_.setMessage(value); + } + } + priceStructureCase_ = 4; + return this; + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + public Builder clearGsuPricePerUnit() { + if (gsuPricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 4) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 4) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + gsuPricePerUnitBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + public com.google.type.Money.Builder getGsuPricePerUnitBuilder() { + return internalGetGsuPricePerUnitFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getGsuPricePerUnitOrBuilder() { + if ((priceStructureCase_ == 4) && (gsuPricePerUnitBuilder_ != null)) { + return gsuPricePerUnitBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 4) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * The price per [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput)
+         * per `unit`.
+         * A provisioned throughput reservation reserves a certain number of
+         * GSUs, and the customer is billed for those GSUs on a continuous basis
+         * for the duration of the reservation.
+         * 
+ * + * .google.type.Money gsu_price_per_unit = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetGsuPricePerUnitFieldBuilder() { + if (gsuPricePerUnitBuilder_ == null) { + if (!(priceStructureCase_ == 4)) { + priceStructure_ = com.google.type.Money.getDefaultInstance(); + } + gsuPricePerUnitBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + (com.google.type.Money) priceStructure_, getParentForChildren(), isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 4; + onChanged(); + return gsuPricePerUnitBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + location_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder> + locationBuilder_; + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the location field is set. + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The location. + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getLocation() { + if (locationBuilder_ == null) { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } else { + return locationBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder + builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeLocation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && location_ != null + && location_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance()) { + getLocationBuilder().mergeFrom(value); + } else { + location_ = value; + } + } else { + locationBuilder_.mergeFrom(value); + } + if (location_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearLocation() { + bitField0_ = (bitField0_ & ~0x00000004); + location_ = null; + if (locationBuilder_ != null) { + locationBuilder_.dispose(); + locationBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder + getLocationBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetLocationFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder + getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance() + : location_; + } + } + + /** + * + * + *
+         * Output only. The location where provisioned throughput is priced by
+         * this SKU.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation location = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder> + internalGetLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder>( + getLocation(), getParentForChildren(), isClean()); + location_ = null; + } + return locationBuilder_; + } + + private java.lang.Object unit_ = ""; + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since provisioned throughput reservations are billed by duration, this
+         * will always be a time unit. The price unit of a provisioned throughput
+         * SKU is not necessarily the same as the reservation term.
+         * This field is unrelated to the [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The customary unit month ('mo') requires special handling to account
+         * for the variable duration of months. A price may be denominated in
+         * units of months, but the duration the reservation is active is measured
+         * in metric time and customers are billed on that basis. The exact hourly
+         * or per-second price can be calculated by dividing the monthly price
+         * by the number of hours or seconds in the desired month. A reservation
+         * active for N months is rarely billed exactly N times the monthly price.
+         * This is intended and is not a billing error.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since provisioned throughput reservations are billed by duration, this
+         * will always be a time unit. The price unit of a provisioned throughput
+         * SKU is not necessarily the same as the reservation term.
+         * This field is unrelated to the [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The customary unit month ('mo') requires special handling to account
+         * for the variable duration of months. A price may be denominated in
+         * units of months, but the duration the reservation is active is measured
+         * in metric time and customers are billed on that basis. The exact hourly
+         * or per-second price can be calculated by dividing the monthly price
+         * by the number of hours or seconds in the desired month. A reservation
+         * active for N months is rarely billed exactly N times the monthly price.
+         * This is intended and is not a billing error.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since provisioned throughput reservations are billed by duration, this
+         * will always be a time unit. The price unit of a provisioned throughput
+         * SKU is not necessarily the same as the reservation term.
+         * This field is unrelated to the [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The customary unit month ('mo') requires special handling to account
+         * for the variable duration of months. A price may be denominated in
+         * units of months, but the duration the reservation is active is measured
+         * in metric time and customers are billed on that basis. The exact hourly
+         * or per-second price can be calculated by dividing the monthly price
+         * by the number of hours or seconds in the desired month. A reservation
+         * active for N months is rarely billed exactly N times the monthly price.
+         * This is intended and is not a billing error.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since provisioned throughput reservations are billed by duration, this
+         * will always be a time unit. The price unit of a provisioned throughput
+         * SKU is not necessarily the same as the reservation term.
+         * This field is unrelated to the [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The customary unit month ('mo') requires special handling to account
+         * for the variable duration of months. A price may be denominated in
+         * units of months, but the duration the reservation is active is measured
+         * in metric time and customers are billed on that basis. The exact hourly
+         * or per-second price can be calculated by dividing the monthly price
+         * by the number of hours or seconds in the desired month. A reservation
+         * active for N months is rarely billed exactly N times the monthly price.
+         * This is intended and is not a billing error.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since provisioned throughput reservations are billed by duration, this
+         * will always be a time unit. The price unit of a provisioned throughput
+         * SKU is not necessarily the same as the reservation term.
+         * This field is unrelated to the [Generative AI Scale Unit
+         * (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput).
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The customary unit month ('mo') requires special handling to account
+         * for the variable duration of months. A price may be denominated in
+         * units of months, but the duration the reservation is active is measured
+         * in metric time and customers are billed on that basis. The exact hourly
+         * or per-second price can be calculated by dividing the monthly price
+         * by the number of hours or seconds in the desired month. A reservation
+         * active for N months is rarely billed exactly N times the monthly price.
+         * This is intended and is not a billing error.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AiPlatformProvisionedThroughputFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface AiPlatformDeployedModelUsageFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the acceleratorType field is set. + */ + boolean hasAcceleratorType(); + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The acceleratorType. + */ + java.lang.String getAcceleratorType(); + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for acceleratorType. + */ + com.google.protobuf.ByteString getAcceleratorTypeBytes(); + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + boolean hasPricePerUnit(); + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + com.google.type.Money getPricePerUnit(); + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Currently the unit is always hours ('h'). This may change in future.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Currently the unit is always hours ('h'). This may change in future.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + int getUsageCalculationValue(); + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + getUsageCalculation(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .HardwareResourceCase + getHardwareResourceCase(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU pricing usage of an [AI Platform Self Deployed
+     * Model](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-garden/self-deployed-models).
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee} + */ + public static final class AiPlatformDeployedModelUsageFee + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + AiPlatformDeployedModelUsageFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AiPlatformDeployedModelUsageFee"); + } + + // Use AiPlatformDeployedModelUsageFee.newBuilder() to construct. + private AiPlatformDeployedModelUsageFee( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AiPlatformDeployedModelUsageFee() { + unit_ = ""; + usageCalculation_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.Builder.class); + } + + /** + * + * + *
+       * Determines how the customer's usage is calculated.
+       * 
+ * + * Protobuf enum {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation} + */ + public enum UsageCalculation implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + USAGE_CALCULATION_UNSPECIFIED(0), + /** + * + * + *
+         * Usage is calculated from deployment runtime and size.
+         * Usage is calculated by measuring the deployment runtime in hours and
+         * multiplying by the amount of the deployed model's hardware resource
+         * matching the SKU's hardware resource type.
+         * This results in a composite `unit` of hours ('h') multiplied by the
+         * unit that denominates the hardware resource, though note that
+         * multiplying by the dimensionless unit ("1") has no effect.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME = 2; + */ + LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UsageCalculation"); + } + + /** + * + * + *
+         * Unused.
+         * 
+ * + * USAGE_CALCULATION_UNSPECIFIED = 0; + */ + public static final int USAGE_CALCULATION_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+         * Usage is calculated from deployment runtime and size.
+         * Usage is calculated by measuring the deployment runtime in hours and
+         * multiplying by the amount of the deployed model's hardware resource
+         * matching the SKU's hardware resource type.
+         * This results in a composite `unit` of hours ('h') multiplied by the
+         * unit that denominates the hardware resource, though note that
+         * multiplying by the dimensionless unit ("1") has no effect.
+         * 
+ * + * LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME = 2; + */ + public static final int LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static UsageCalculation valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static UsageCalculation forNumber(int value) { + switch (value) { + case 0: + return USAGE_CALCULATION_UNSPECIFIED; + case 2: + return LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public UsageCalculation findValueByNumber(int number) { + return UsageCalculation.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final UsageCalculation[] VALUES = values(); + + public static UsageCalculation valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private UsageCalculation(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation) + } + + private int hardwareResourceCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object hardwareResource_; + + public enum HardwareResourceCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + ACCELERATOR_TYPE(2), + HARDWARERESOURCE_NOT_SET(0); + private final int value; + + private HardwareResourceCase(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 HardwareResourceCase valueOf(int value) { + return forNumber(value); + } + + public static HardwareResourceCase forNumber(int value) { + switch (value) { + case 2: + return ACCELERATOR_TYPE; + case 0: + return HARDWARERESOURCE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public HardwareResourceCase getHardwareResourceCase() { + return HardwareResourceCase.forNumber(hardwareResourceCase_); + } + + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + PRICE_PER_UNIT(5), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 5: + return PRICE_PER_UNIT; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int ACCELERATOR_TYPE_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the acceleratorType field is set. + */ + public boolean hasAcceleratorType() { + return hardwareResourceCase_ == 2; + } + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The acceleratorType. + */ + public java.lang.String getAcceleratorType() { + java.lang.Object ref = ""; + if (hardwareResourceCase_ == 2) { + ref = hardwareResource_; + } + 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(); + if (hardwareResourceCase_ == 2) { + hardwareResource_ = s; + } + return s; + } + } + + /** + * + * + *
+       * Output only. The SKU applies to a specific accelerator type.
+       * Contains the name of the matching [AI Platform AcceleratorType](
+       * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+       * The corresponding linear scaling value is the dimensionless
+       * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+       * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for acceleratorType. + */ + public com.google.protobuf.ByteString getAcceleratorTypeBytes() { + java.lang.Object ref = ""; + if (hardwareResourceCase_ == 2) { + ref = hardwareResource_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (hardwareResourceCase_ == 2) { + hardwareResource_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRICE_PER_UNIT_FIELD_NUMBER = 5; + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 5; + } + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (priceStructureCase_ == 5) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. The price per unit of usage.
+       * The customer's usage charge is computed by measuring the customer's
+       * consumption denominated in price units and multiplying by this price.
+       * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if (priceStructureCase_ == 5) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + public static final int UNIT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Currently the unit is always hours ('h'). This may change in future.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The price unit of the SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Currently the unit is always hours ('h'). This may change in future.
+       * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int USAGE_CALCULATION_FIELD_NUMBER = 4; + private int usageCalculation_ = 0; + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+       * Output only. Determines how the customer's usage is calculated.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.UsageCalculation.forNumber(usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation.UNRECOGNIZED + : result; + } + + 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 (hardwareResourceCase_ == 2) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, hardwareResource_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, unit_); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, usageCalculation_); + } + if (priceStructureCase_ == 5) { + output.writeMessage(5, (com.google.type.Money) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (hardwareResourceCase_ == 2) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, hardwareResource_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, unit_); + } + if (usageCalculation_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation.USAGE_CALCULATION_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, usageCalculation_); + } + if (priceStructureCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, (com.google.type.Money) priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + obj; + + if (!getUnit().equals(other.getUnit())) return false; + if (usageCalculation_ != other.usageCalculation_) return false; + if (!getHardwareResourceCase().equals(other.getHardwareResourceCase())) return false; + switch (hardwareResourceCase_) { + case 2: + if (!getAcceleratorType().equals(other.getAcceleratorType())) return false; + break; + case 0: + default: + } + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 5: + if (!getPricePerUnit().equals(other.getPricePerUnit())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + hash = (37 * hash) + USAGE_CALCULATION_FIELD_NUMBER; + hash = (53 * hash) + usageCalculation_; + switch (hardwareResourceCase_) { + case 2: + hash = (37 * hash) + ACCELERATOR_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getAcceleratorType().hashCode(); + break; + case 0: + default: + } + switch (priceStructureCase_) { + case 5: + hash = (37 * hash) + PRICE_PER_UNIT_FIELD_NUMBER; + hash = (53 * hash) + getPricePerUnit().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU pricing usage of an [AI Platform Self Deployed
+       * Model](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-garden/self-deployed-models).
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (pricePerUnitBuilder_ != null) { + pricePerUnitBuilder_.clear(); + } + unit_ = ""; + usageCalculation_ = 0; + hardwareResourceCase_ = 0; + hardwareResource_ = null; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unit_ = unit_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.usageCalculation_ = usageCalculation_; + } + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + result) { + result.hardwareResourceCase_ = hardwareResourceCase_; + result.hardwareResource_ = this.hardwareResource_; + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 5 && pricePerUnitBuilder_ != null) { + result.priceStructure_ = pricePerUnitBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance()) return this; + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.usageCalculation_ != 0) { + setUsageCalculationValue(other.getUsageCalculationValue()); + } + switch (other.getHardwareResourceCase()) { + case ACCELERATOR_TYPE: + { + hardwareResourceCase_ = 2; + hardwareResource_ = other.hardwareResource_; + onChanged(); + break; + } + case HARDWARERESOURCE_NOT_SET: + { + break; + } + } + switch (other.getPriceStructureCase()) { + case PRICE_PER_UNIT: + { + mergePricePerUnit(other.getPricePerUnit()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + hardwareResourceCase_ = 2; + hardwareResource_ = s; + break; + } // case 18 + case 26: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 32: + { + usageCalculation_ = input.readEnum(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 42: + { + input.readMessage( + internalGetPricePerUnitFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 5; + break; + } // case 42 + 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 hardwareResourceCase_ = 0; + private java.lang.Object hardwareResource_; + + public HardwareResourceCase getHardwareResourceCase() { + return HardwareResourceCase.forNumber(hardwareResourceCase_); + } + + public Builder clearHardwareResource() { + hardwareResourceCase_ = 0; + hardwareResource_ = null; + onChanged(); + return this; + } + + private int priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the acceleratorType field is set. + */ + @java.lang.Override + public boolean hasAcceleratorType() { + return hardwareResourceCase_ == 2; + } + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The acceleratorType. + */ + @java.lang.Override + public java.lang.String getAcceleratorType() { + java.lang.Object ref = ""; + if (hardwareResourceCase_ == 2) { + ref = hardwareResource_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (hardwareResourceCase_ == 2) { + hardwareResource_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for acceleratorType. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAcceleratorTypeBytes() { + java.lang.Object ref = ""; + if (hardwareResourceCase_ == 2) { + ref = hardwareResource_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (hardwareResourceCase_ == 2) { + hardwareResource_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The acceleratorType to set. + * @return This builder for chaining. + */ + public Builder setAcceleratorType(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + hardwareResourceCase_ = 2; + hardwareResource_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearAcceleratorType() { + if (hardwareResourceCase_ == 2) { + hardwareResourceCase_ = 0; + hardwareResource_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a specific accelerator type.
+         * Contains the name of the matching [AI Platform AcceleratorType](
+         * https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType).
+         * The corresponding linear scaling value is the dimensionless
+         * [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count).
+         * 
+ * + * string accelerator_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for acceleratorType to set. + * @return This builder for chaining. + */ + public Builder setAcceleratorTypeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + hardwareResourceCase_ = 2; + hardwareResource_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + pricePerUnitBuilder_; + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 5; + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 5) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } else { + if (priceStructureCase_ == 5) { + return pricePerUnitBuilder_.getMessage(); + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(value); + } + priceStructureCase_ = 5; + return this; + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPricePerUnit(com.google.type.Money.Builder builderForValue) { + if (pricePerUnitBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 5; + return this; + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 5 + && priceStructure_ != com.google.type.Money.getDefaultInstance()) { + priceStructure_ = + com.google.type.Money.newBuilder((com.google.type.Money) priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 5) { + pricePerUnitBuilder_.mergeFrom(value); + } else { + pricePerUnitBuilder_.setMessage(value); + } + } + priceStructureCase_ = 5; + return this; + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 5) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 5) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + pricePerUnitBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Money.Builder getPricePerUnitBuilder() { + return internalGetPricePerUnitFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if ((priceStructureCase_ == 5) && (pricePerUnitBuilder_ != null)) { + return pricePerUnitBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 5) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The price per unit of usage.
+         * The customer's usage charge is computed by measuring the customer's
+         * consumption denominated in price units and multiplying by this price.
+         * 
+ * + * .google.type.Money price_per_unit = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetPricePerUnitFieldBuilder() { + if (pricePerUnitBuilder_ == null) { + if (!(priceStructureCase_ == 5)) { + priceStructure_ = com.google.type.Money.getDefaultInstance(); + } + pricePerUnitBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + (com.google.type.Money) priceStructure_, getParentForChildren(), isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 5; + onChanged(); + return pricePerUnitBuilder_; + } + + private java.lang.Object unit_ = ""; + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Currently the unit is always hours ('h'). This may change in future.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Currently the unit is always hours ('h'). This may change in future.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Currently the unit is always hours ('h'). This may change in future.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Currently the unit is always hours ('h'). This may change in future.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The price unit of the SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Currently the unit is always hours ('h'). This may change in future.
+         * 
+ * + * string unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int usageCalculation_ = 0; + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for usageCalculation. + */ + @java.lang.Override + public int getUsageCalculationValue() { + return usageCalculation_; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculationValue(int value) { + usageCalculation_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usageCalculation. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + getUsageCalculation() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + result = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.UsageCalculation.forNumber( + usageCalculation_); + return result == null + ? com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.UsageCalculation.UNRECOGNIZED + : result; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The usageCalculation to set. + * @return This builder for chaining. + */ + public Builder setUsageCalculation( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .UsageCalculation + value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + usageCalculation_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Determines how the customer's usage is calculated.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee.UsageCalculation usage_calculation = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearUsageCalculation() { + bitField0_ = (bitField0_ & ~0x00000008); + usageCalculation_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AiPlatformDeployedModelUsageFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FlatSubscriptionFeeOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + boolean hasPricePerUnit(); + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + com.google.type.Money getPricePerUnit(); + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder(); + + /** + * + * + *
+       * Output only. The unit of the subscription SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since subscriptions are billed by duration, this will always be a time
+       * unit. The price unit of a subscription SKU is not necessarily the same
+       * as the subscription period of the corresponding StandardOffers.
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The unit month ('mo') is a customary time unit and requires special
+       * handling to account for the variable duration of months. A price may be
+       * denominated in units of months, but the duration the subscription is
+       * active is measured in metric time and customers are billed on that
+       * basis. The exact hourly or per-second price can be calculated by
+       * dividing the monthly price by the number of hours or seconds in the
+       * desired month. A subscription active for N months is rarely billed
+       * exactly N times the monthly price. This is intended and is not a
+       * billing error.
+       * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. The unit of the subscription SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since subscriptions are billed by duration, this will always be a time
+       * unit. The price unit of a subscription SKU is not necessarily the same
+       * as the subscription period of the corresponding StandardOffers.
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The unit month ('mo') is a customary time unit and requires special
+       * handling to account for the variable duration of months. A price may be
+       * denominated in units of months, but the duration the subscription is
+       * active is measured in metric time and customers are billed on that
+       * basis. The exact hourly or per-second price can be calculated by
+       * dividing the monthly price by the number of hours or seconds in the
+       * desired month. A subscription active for N months is rarely billed
+       * exactly N times the monthly price. This is intended and is not a
+       * billing error.
+       * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.PriceStructureCase + getPriceStructureCase(); + } + + /** + * + * + *
+     * Details about a SKU charging a flat subscription fee.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee} + */ + public static final class FlatSubscriptionFee extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + FlatSubscriptionFeeOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "FlatSubscriptionFee"); + } + + // Use FlatSubscriptionFee.newBuilder() to construct. + private FlatSubscriptionFee(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private FlatSubscriptionFee() { + unit_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder + .class); + } + + private int priceStructureCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object priceStructure_; + + public enum PriceStructureCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + PRICE_PER_UNIT(3), + PRICESTRUCTURE_NOT_SET(0); + private final int value; + + private PriceStructureCase(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 PriceStructureCase valueOf(int value) { + return forNumber(value); + } + + public static PriceStructureCase forNumber(int value) { + switch (value) { + case 3: + return PRICE_PER_UNIT; + case 0: + return PRICESTRUCTURE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public static final int PRICE_PER_UNIT_FIELD_NUMBER = 3; + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 3; + } + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (priceStructureCase_ == 3) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. The price per time unit the subscription is active.
+       * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if (priceStructureCase_ == 3) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + + public static final int UNIT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. The unit of the subscription SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since subscriptions are billed by duration, this will always be a time
+       * unit. The price unit of a subscription SKU is not necessarily the same
+       * as the subscription period of the corresponding StandardOffers.
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The unit month ('mo') is a customary time unit and requires special
+       * handling to account for the variable duration of months. A price may be
+       * denominated in units of months, but the duration the subscription is
+       * active is measured in metric time and customers are billed on that
+       * basis. The exact hourly or per-second price can be calculated by
+       * dividing the monthly price by the number of hours or seconds in the
+       * desired month. A subscription active for N months is rarely billed
+       * exactly N times the monthly price. This is intended and is not a
+       * billing error.
+       * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The unit of the subscription SKU.
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * Since subscriptions are billed by duration, this will always be a time
+       * unit. The price unit of a subscription SKU is not necessarily the same
+       * as the subscription period of the corresponding StandardOffers.
+       *
+       * Currently the unit is always months ('mo').
+       * Additional time units may be supported in future.
+       *
+       * The unit month ('mo') is a customary time unit and requires special
+       * handling to account for the variable duration of months. A price may be
+       * denominated in units of months, but the duration the subscription is
+       * active is measured in metric time and customers are billed on that
+       * basis. The exact hourly or per-second price can be calculated by
+       * dividing the monthly price by the number of hours or seconds in the
+       * desired month. A subscription active for N months is rarely billed
+       * exactly N times the monthly price. This is intended and is not a
+       * billing error.
+       * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = 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.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, unit_); + } + if (priceStructureCase_ == 3) { + output.writeMessage(3, (com.google.type.Money) priceStructure_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, unit_); + } + if (priceStructureCase_ == 3) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 3, (com.google.type.Money) priceStructure_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) obj; + + if (!getUnit().equals(other.getUnit())) return false; + if (!getPriceStructureCase().equals(other.getPriceStructureCase())) return false; + switch (priceStructureCase_) { + case 3: + if (!getPricePerUnit().equals(other.getPricePerUnit())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + switch (priceStructureCase_) { + case 3: + hash = (37 * hash) + PRICE_PER_UNIT_FIELD_NUMBER; + hash = (53 * hash) + getPricePerUnit().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Details about a SKU charging a flat subscription fee.
+       * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (pricePerUnitBuilder_ != null) { + pricePerUnitBuilder_.clear(); + } + unit_ = ""; + priceStructureCase_ = 0; + priceStructure_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.unit_ = unit_; + } + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee result) { + result.priceStructureCase_ = priceStructureCase_; + result.priceStructure_ = this.priceStructure_; + if (priceStructureCase_ == 3 && pricePerUnitBuilder_ != null) { + result.priceStructure_ = pricePerUnitBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance()) return this; + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000002; + onChanged(); + } + switch (other.getPriceStructureCase()) { + case PRICE_PER_UNIT: + { + mergePricePerUnit(other.getPricePerUnit()); + break; + } + case PRICESTRUCTURE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetPricePerUnitFieldBuilder().getBuilder(), extensionRegistry); + priceStructureCase_ = 3; + break; + } // case 26 + 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 priceStructureCase_ = 0; + private java.lang.Object priceStructure_; + + public PriceStructureCase getPriceStructureCase() { + return PriceStructureCase.forNumber(priceStructureCase_); + } + + public Builder clearPriceStructure() { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + pricePerUnitBuilder_; + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the pricePerUnit field is set. + */ + @java.lang.Override + public boolean hasPricePerUnit() { + return priceStructureCase_ == 3; + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The pricePerUnit. + */ + @java.lang.Override + public com.google.type.Money getPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 3) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } else { + if (priceStructureCase_ == 3) { + return pricePerUnitBuilder_.getMessage(); + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceStructure_ = value; + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(value); + } + priceStructureCase_ = 3; + return this; + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPricePerUnit(com.google.type.Money.Builder builderForValue) { + if (pricePerUnitBuilder_ == null) { + priceStructure_ = builderForValue.build(); + onChanged(); + } else { + pricePerUnitBuilder_.setMessage(builderForValue.build()); + } + priceStructureCase_ = 3; + return this; + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePricePerUnit(com.google.type.Money value) { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 3 + && priceStructure_ != com.google.type.Money.getDefaultInstance()) { + priceStructure_ = + com.google.type.Money.newBuilder((com.google.type.Money) priceStructure_) + .mergeFrom(value) + .buildPartial(); + } else { + priceStructure_ = value; + } + onChanged(); + } else { + if (priceStructureCase_ == 3) { + pricePerUnitBuilder_.mergeFrom(value); + } else { + pricePerUnitBuilder_.setMessage(value); + } + } + priceStructureCase_ = 3; + return this; + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPricePerUnit() { + if (pricePerUnitBuilder_ == null) { + if (priceStructureCase_ == 3) { + priceStructureCase_ = 0; + priceStructure_ = null; + onChanged(); + } + } else { + if (priceStructureCase_ == 3) { + priceStructureCase_ = 0; + priceStructure_ = null; + } + pricePerUnitBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Money.Builder getPricePerUnitBuilder() { + return internalGetPricePerUnitFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPricePerUnitOrBuilder() { + if ((priceStructureCase_ == 3) && (pricePerUnitBuilder_ != null)) { + return pricePerUnitBuilder_.getMessageOrBuilder(); + } else { + if (priceStructureCase_ == 3) { + return (com.google.type.Money) priceStructure_; + } + return com.google.type.Money.getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The price per time unit the subscription is active.
+         * 
+ * + * .google.type.Money price_per_unit = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetPricePerUnitFieldBuilder() { + if (pricePerUnitBuilder_ == null) { + if (!(priceStructureCase_ == 3)) { + priceStructure_ = com.google.type.Money.getDefaultInstance(); + } + pricePerUnitBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + (com.google.type.Money) priceStructure_, getParentForChildren(), isClean()); + priceStructure_ = null; + } + priceStructureCase_ = 3; + onChanged(); + return pricePerUnitBuilder_; + } + + private java.lang.Object unit_ = ""; + + /** + * + * + *
+         * Output only. The unit of the subscription SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since subscriptions are billed by duration, this will always be a time
+         * unit. The price unit of a subscription SKU is not necessarily the same
+         * as the subscription period of the corresponding StandardOffers.
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The unit month ('mo') is a customary time unit and requires special
+         * handling to account for the variable duration of months. A price may be
+         * denominated in units of months, but the duration the subscription is
+         * active is measured in metric time and customers are billed on that
+         * basis. The exact hourly or per-second price can be calculated by
+         * dividing the monthly price by the number of hours or seconds in the
+         * desired month. A subscription active for N months is rarely billed
+         * exactly N times the monthly price. This is intended and is not a
+         * billing error.
+         * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The unit of the subscription SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since subscriptions are billed by duration, this will always be a time
+         * unit. The price unit of a subscription SKU is not necessarily the same
+         * as the subscription period of the corresponding StandardOffers.
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The unit month ('mo') is a customary time unit and requires special
+         * handling to account for the variable duration of months. A price may be
+         * denominated in units of months, but the duration the subscription is
+         * active is measured in metric time and customers are billed on that
+         * basis. The exact hourly or per-second price can be calculated by
+         * dividing the monthly price by the number of hours or seconds in the
+         * desired month. A subscription active for N months is rarely billed
+         * exactly N times the monthly price. This is intended and is not a
+         * billing error.
+         * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The unit of the subscription SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since subscriptions are billed by duration, this will always be a time
+         * unit. The price unit of a subscription SKU is not necessarily the same
+         * as the subscription period of the corresponding StandardOffers.
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The unit month ('mo') is a customary time unit and requires special
+         * handling to account for the variable duration of months. A price may be
+         * denominated in units of months, but the duration the subscription is
+         * active is measured in metric time and customers are billed on that
+         * basis. The exact hourly or per-second price can be calculated by
+         * dividing the monthly price by the number of hours or seconds in the
+         * desired month. A subscription active for N months is rarely billed
+         * exactly N times the monthly price. This is intended and is not a
+         * billing error.
+         * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The unit of the subscription SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since subscriptions are billed by duration, this will always be a time
+         * unit. The price unit of a subscription SKU is not necessarily the same
+         * as the subscription period of the corresponding StandardOffers.
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The unit month ('mo') is a customary time unit and requires special
+         * handling to account for the variable duration of months. A price may be
+         * denominated in units of months, but the duration the subscription is
+         * active is measured in metric time and customers are billed on that
+         * basis. The exact hourly or per-second price can be calculated by
+         * dividing the monthly price by the number of hours or seconds in the
+         * desired month. A subscription active for N months is rarely billed
+         * exactly N times the monthly price. This is intended and is not a
+         * billing error.
+         * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The unit of the subscription SKU.
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * Since subscriptions are billed by duration, this will always be a time
+         * unit. The price unit of a subscription SKU is not necessarily the same
+         * as the subscription period of the corresponding StandardOffers.
+         *
+         * Currently the unit is always months ('mo').
+         * Additional time units may be supported in future.
+         *
+         * The unit month ('mo') is a customary time unit and requires special
+         * handling to account for the variable duration of months. A price may be
+         * denominated in units of months, but the duration the subscription is
+         * active is measured in metric time and customers are billed on that
+         * basis. The exact hourly or per-second price can be calculated by
+         * dividing the monthly price by the number of hours or seconds in the
+         * desired month. A subscription active for N months is rarely billed
+         * exactly N times the monthly price. This is intended and is not a
+         * billing error.
+         * 
+ * + * string unit = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FlatSubscriptionFee 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface TieredPriceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. Usage unit used for defining price tiers and for scaling
+       * with the price_unit_count to form the composite price unit.
+       *
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * A unitless dimension, such as a count, is represented as `1`.
+       * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + java.lang.String getUnit(); + + /** + * + * + *
+       * Output only. Usage unit used for defining price tiers and for scaling
+       * with the price_unit_count to form the composite price unit.
+       *
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * A unitless dimension, such as a count, is represented as `1`.
+       * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + com.google.protobuf.ByteString getUnitBytes(); + + /** + * + * + *
+       * Output only. The display description of the unit, supplied at time of
+       * onboarding. This value is recommended to be set at least for
+       * dimensionless metrics, but may be empty if no description was provided
+       * at time of onboarding.
+       * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unitDescription. + */ + java.lang.String getUnitDescription(); + + /** + * + * + *
+       * Output only. The display description of the unit, supplied at time of
+       * onboarding. This value is recommended to be set at least for
+       * dimensionless metrics, but may be empty if no description was provided
+       * at time of onboarding.
+       * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unitDescription. + */ + com.google.protobuf.ByteString getUnitDescriptionBytes(); + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceUnitCount field is set. + */ + boolean hasPriceUnitCount(); + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceUnitCount. + */ + com.google.type.Decimal getPriceUnitCount(); + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.DecimalOrBuilder getPriceUnitCountOrBuilder(); + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getPriceTiersList(); + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier getPriceTiers( + int index); + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getPriceTiersCount(); + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder> + getPriceTiersOrBuilderList(); + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierOrBuilder + getPriceTiersOrBuilder(int index); + } + + /** + * + * + *
+     * Price structure for a SKU charging a [tiered
+     * price](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice} + */ + public static final class TieredPrice extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + TieredPriceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "TieredPrice"); + } + + // Use TieredPrice.newBuilder() to construct. + private TieredPrice(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private TieredPrice() { + unit_ = ""; + unitDescription_ = ""; + priceTiers_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder.class); + } + + public interface PriceTierOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the startAmount field is set. + */ + boolean hasStartAmount(); + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The startAmount. + */ + com.google.type.Decimal getStartAmount(); + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.type.DecimalOrBuilder getStartAmountOrBuilder(); + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the price field is set. + */ + boolean hasPrice(); + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The price. + */ + com.google.type.Money getPrice(); + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + com.google.type.MoneyOrBuilder getPriceOrBuilder(); + } + + /** + * + * + *
+       * A [price
+       * tier](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+       * pricing metric usage within a range.
+       *
+       * Each marginal unit of usage is priced according to the price tier in
+       * which it falls.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier} + */ + public static final class PriceTier extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + PriceTierOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PriceTier"); + } + + // Use PriceTier.newBuilder() to construct. + private PriceTier(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PriceTier() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .Builder.class); + } + + private int bitField0_; + public static final int START_AMOUNT_FIELD_NUMBER = 1; + private com.google.type.Decimal startAmount_; + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the startAmount field is set. + */ + @java.lang.Override + public boolean hasStartAmount() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The startAmount. + */ + @java.lang.Override + public com.google.type.Decimal getStartAmount() { + return startAmount_ == null ? com.google.type.Decimal.getDefaultInstance() : startAmount_; + } + + /** + * + * + *
+         * Output only. Inclusive lower bound of the tier interval, denominated
+         * in `unit`.
+         * 
+ * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getStartAmountOrBuilder() { + return startAmount_ == null ? com.google.type.Decimal.getDefaultInstance() : startAmount_; + } + + public static final int PRICE_FIELD_NUMBER = 2; + private com.google.type.Money price_; + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the price field is set. + */ + @java.lang.Override + public boolean hasPrice() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The price. + */ + @java.lang.Override + public com.google.type.Money getPrice() { + return price_ == null ? com.google.type.Money.getDefaultInstance() : price_; + } + + /** + * + * + *
+         * Output only. The price per `price_unit_count` of `unit` in the tier.
+         * The price is applied fractionally if the customer's usage within the
+         * tier is not an integer multiple of `price_unit_count`.
+         * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + @java.lang.Override + public com.google.type.MoneyOrBuilder getPriceOrBuilder() { + return price_ == null ? com.google.type.Money.getDefaultInstance() : price_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getStartAmount()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getPrice()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStartAmount()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPrice()); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) obj; + + if (hasStartAmount() != other.hasStartAmount()) return false; + if (hasStartAmount()) { + if (!getStartAmount().equals(other.getStartAmount())) return false; + } + if (hasPrice() != other.hasPrice()) return false; + if (hasPrice()) { + if (!getPrice().equals(other.getPrice())) 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(); + if (hasStartAmount()) { + hash = (37 * hash) + START_AMOUNT_FIELD_NUMBER; + hash = (53 * hash) + getStartAmount().hashCode(); + } + if (hasPrice()) { + hash = (37 * hash) + PRICE_FIELD_NUMBER; + hash = (53 * hash) + getPrice().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+         * A [price
+         * tier](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing)
+         * pricing metric usage within a range.
+         *
+         * Each marginal unit of usage is priced according to the price tier in
+         * which it falls.
+         * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetStartAmountFieldBuilder(); + internalGetPriceFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + startAmount_ = null; + if (startAmountBuilder_ != null) { + startAmountBuilder_.dispose(); + startAmountBuilder_ = null; + } + price_ = null; + if (priceBuilder_ != null) { + priceBuilder_.dispose(); + priceBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier( + this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startAmount_ = + startAmountBuilder_ == null ? startAmount_ : startAmountBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.price_ = priceBuilder_ == null ? price_ : priceBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .getDefaultInstance()) return this; + if (other.hasStartAmount()) { + mergeStartAmount(other.getStartAmount()); + } + if (other.hasPrice()) { + mergePrice(other.getPrice()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetStartAmountFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetPriceFieldBuilder().getBuilder(), extensionRegistry); + 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 com.google.type.Decimal startAmount_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + startAmountBuilder_; + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the startAmount field is set. + */ + public boolean hasStartAmount() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The startAmount. + */ + public com.google.type.Decimal getStartAmount() { + if (startAmountBuilder_ == null) { + return startAmount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : startAmount_; + } else { + return startAmountBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setStartAmount(com.google.type.Decimal value) { + if (startAmountBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + startAmount_ = value; + } else { + startAmountBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setStartAmount(com.google.type.Decimal.Builder builderForValue) { + if (startAmountBuilder_ == null) { + startAmount_ = builderForValue.build(); + } else { + startAmountBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeStartAmount(com.google.type.Decimal value) { + if (startAmountBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && startAmount_ != null + && startAmount_ != com.google.type.Decimal.getDefaultInstance()) { + getStartAmountBuilder().mergeFrom(value); + } else { + startAmount_ = value; + } + } else { + startAmountBuilder_.mergeFrom(value); + } + if (startAmount_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearStartAmount() { + bitField0_ = (bitField0_ & ~0x00000001); + startAmount_ = null; + if (startAmountBuilder_ != null) { + startAmountBuilder_.dispose(); + startAmountBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Decimal.Builder getStartAmountBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetStartAmountFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.DecimalOrBuilder getStartAmountOrBuilder() { + if (startAmountBuilder_ != null) { + return startAmountBuilder_.getMessageOrBuilder(); + } else { + return startAmount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : startAmount_; + } + } + + /** + * + * + *
+           * Output only. Inclusive lower bound of the tier interval, denominated
+           * in `unit`.
+           * 
+ * + * + * .google.type.Decimal start_amount = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetStartAmountFieldBuilder() { + if (startAmountBuilder_ == null) { + startAmountBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getStartAmount(), getParentForChildren(), isClean()); + startAmount_ = null; + } + return startAmountBuilder_; + } + + private com.google.type.Money price_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + priceBuilder_; + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the price field is set. + */ + public boolean hasPrice() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The price. + */ + public com.google.type.Money getPrice() { + if (priceBuilder_ == null) { + return price_ == null ? com.google.type.Money.getDefaultInstance() : price_; + } else { + return priceBuilder_.getMessage(); + } + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public Builder setPrice(com.google.type.Money value) { + if (priceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + price_ = value; + } else { + priceBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public Builder setPrice(com.google.type.Money.Builder builderForValue) { + if (priceBuilder_ == null) { + price_ = builderForValue.build(); + } else { + priceBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public Builder mergePrice(com.google.type.Money value) { + if (priceBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && price_ != null + && price_ != com.google.type.Money.getDefaultInstance()) { + getPriceBuilder().mergeFrom(value); + } else { + price_ = value; + } + } else { + priceBuilder_.mergeFrom(value); + } + if (price_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public Builder clearPrice() { + bitField0_ = (bitField0_ & ~0x00000002); + price_ = null; + if (priceBuilder_ != null) { + priceBuilder_.dispose(); + priceBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public com.google.type.Money.Builder getPriceBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPriceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + public com.google.type.MoneyOrBuilder getPriceOrBuilder() { + if (priceBuilder_ != null) { + return priceBuilder_.getMessageOrBuilder(); + } else { + return price_ == null ? com.google.type.Money.getDefaultInstance() : price_; + } + } + + /** + * + * + *
+           * Output only. The price per `price_unit_count` of `unit` in the tier.
+           * The price is applied fractionally if the customer's usage within the
+           * tier is not an integer multiple of `price_unit_count`.
+           * 
+ * + * .google.type.Money price = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder> + internalGetPriceFieldBuilder() { + if (priceBuilder_ == null) { + priceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Money, + com.google.type.Money.Builder, + com.google.type.MoneyOrBuilder>( + getPrice(), getParentForChildren(), isClean()); + price_ = null; + } + return priceBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTier + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PriceTier 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object unit_ = ""; + + /** + * + * + *
+       * Output only. Usage unit used for defining price tiers and for scaling
+       * with the price_unit_count to form the composite price unit.
+       *
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * A unitless dimension, such as a count, is represented as `1`.
+       * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + @java.lang.Override + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + 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(); + unit_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. Usage unit used for defining price tiers and for scaling
+       * with the price_unit_count to form the composite price unit.
+       *
+       * See https://ucum.org/ucum.html for the format of the price unit.
+       * A unitless dimension, such as a count, is represented as `1`.
+       * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int UNIT_DESCRIPTION_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object unitDescription_ = ""; + + /** + * + * + *
+       * Output only. The display description of the unit, supplied at time of
+       * onboarding. This value is recommended to be set at least for
+       * dimensionless metrics, but may be empty if no description was provided
+       * at time of onboarding.
+       * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unitDescription. + */ + @java.lang.Override + public java.lang.String getUnitDescription() { + java.lang.Object ref = unitDescription_; + 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(); + unitDescription_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. The display description of the unit, supplied at time of
+       * onboarding. This value is recommended to be set at least for
+       * dimensionless metrics, but may be empty if no description was provided
+       * at time of onboarding.
+       * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unitDescription. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUnitDescriptionBytes() { + java.lang.Object ref = unitDescription_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unitDescription_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRICE_UNIT_COUNT_FIELD_NUMBER = 3; + private com.google.type.Decimal priceUnitCount_; + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceUnitCount field is set. + */ + @java.lang.Override + public boolean hasPriceUnitCount() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceUnitCount. + */ + @java.lang.Override + public com.google.type.Decimal getPriceUnitCount() { + return priceUnitCount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : priceUnitCount_; + } + + /** + * + * + *
+       * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+       * composite "price unit" which is priced by the price tiers.
+       *
+       * This scaling factor is in addition to any numerical prefix symbol on
+       * the `unit`, so the same composite "price unit" can be represented in
+       * several ways, differing only in their presentation to users.
+       *
+       * Examples:
+       *
+       * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+       * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+       * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+       * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.type.DecimalOrBuilder getPriceUnitCountOrBuilder() { + return priceUnitCount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : priceUnitCount_; + } + + public static final int PRICE_TIERS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier> + priceTiers_; + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier> + getPriceTiersList() { + return priceTiers_; + } + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder> + getPriceTiersOrBuilderList() { + return priceTiers_; + } + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getPriceTiersCount() { + return priceTiers_.size(); + } + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + getPriceTiers(int index) { + return priceTiers_.get(index); + } + + /** + * + * + *
+       * Output only. The list of price tiers for the SKU, ordered by the
+       * start_amount.
+       *
+       * The tiers are non-overlapping and are collectively bounded below by
+       * zero and unbounded above to cover the entire range of possible metric
+       * usage. Each tier is bounded below inclusively by its start_amount and
+       * bounded above exclusively by the start_amount of the next tier, or else
+       * unbounded above if there is no next tier.
+       *
+       * Usage of the metric is aggregated by customer billing account on a
+       * monthly basis and billed in a graduated manner according to the price
+       * tiers, with each marginal unit of usage priced accoring to the tier in
+       * which it falls.
+       * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierOrBuilder + getPriceTiersOrBuilder(int index) { + return priceTiers_.get(index); + } + + 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.GeneratedMessage.isStringEmpty(unit_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, unit_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unitDescription_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, unitDescription_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getPriceUnitCount()); + } + for (int i = 0; i < priceTiers_.size(); i++) { + output.writeMessage(4, priceTiers_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unit_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, unit_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(unitDescription_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, unitDescription_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getPriceUnitCount()); + } + for (int i = 0; i < priceTiers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, priceTiers_.get(i)); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) obj; + + if (!getUnit().equals(other.getUnit())) return false; + if (!getUnitDescription().equals(other.getUnitDescription())) return false; + if (hasPriceUnitCount() != other.hasPriceUnitCount()) return false; + if (hasPriceUnitCount()) { + if (!getPriceUnitCount().equals(other.getPriceUnitCount())) return false; + } + if (!getPriceTiersList().equals(other.getPriceTiersList())) 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) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit().hashCode(); + hash = (37 * hash) + UNIT_DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getUnitDescription().hashCode(); + if (hasPriceUnitCount()) { + hash = (37 * hash) + PRICE_UNIT_COUNT_FIELD_NUMBER; + hash = (53 * hash) + getPriceUnitCount().hashCode(); + } + if (getPriceTiersCount() > 0) { + hash = (37 * hash) + PRICE_TIERS_FIELD_NUMBER; + hash = (53 * hash) + getPriceTiersList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Price structure for a SKU charging a [tiered
+       * price](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing).
+       * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPriceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPriceUnitCountFieldBuilder(); + internalGetPriceTiersFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + unit_ = ""; + unitDescription_ = ""; + priceUnitCount_ = null; + if (priceUnitCountBuilder_ != null) { + priceUnitCountBuilder_.dispose(); + priceUnitCountBuilder_ = null; + } + if (priceTiersBuilder_ == null) { + priceTiers_ = java.util.Collections.emptyList(); + } else { + priceTiers_ = null; + priceTiersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice result) { + if (priceTiersBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + priceTiers_ = java.util.Collections.unmodifiableList(priceTiers_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.priceTiers_ = priceTiers_; + } else { + result.priceTiers_ = priceTiersBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.unitDescription_ = unitDescription_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.priceUnitCount_ = + priceUnitCountBuilder_ == null ? priceUnitCount_ : priceUnitCountBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .getDefaultInstance()) return this; + if (!other.getUnit().isEmpty()) { + unit_ = other.unit_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getUnitDescription().isEmpty()) { + unitDescription_ = other.unitDescription_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasPriceUnitCount()) { + mergePriceUnitCount(other.getPriceUnitCount()); + } + if (priceTiersBuilder_ == null) { + if (!other.priceTiers_.isEmpty()) { + if (priceTiers_.isEmpty()) { + priceTiers_ = other.priceTiers_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensurePriceTiersIsMutable(); + priceTiers_.addAll(other.priceTiers_); + } + onChanged(); + } + } else { + if (!other.priceTiers_.isEmpty()) { + if (priceTiersBuilder_.isEmpty()) { + priceTiersBuilder_.dispose(); + priceTiersBuilder_ = null; + priceTiers_ = other.priceTiers_; + bitField0_ = (bitField0_ & ~0x00000008); + priceTiersBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetPriceTiersFieldBuilder() + : null; + } else { + priceTiersBuilder_.addAllMessages(other.priceTiers_); + } + } + } + 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: + { + unit_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + unitDescription_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetPriceUnitCountFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTier.parser(), + extensionRegistry); + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + priceTiers_.add(m); + } else { + priceTiersBuilder_.addMessage(m); + } + break; + } // case 34 + 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 unit_ = ""; + + /** + * + * + *
+         * Output only. Usage unit used for defining price tiers and for scaling
+         * with the price_unit_count to form the composite price unit.
+         *
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * A unitless dimension, such as a count, is represented as `1`.
+         * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unit. + */ + public java.lang.String getUnit() { + java.lang.Object ref = unit_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unit_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. Usage unit used for defining price tiers and for scaling
+         * with the price_unit_count to form the composite price unit.
+         *
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * A unitless dimension, such as a count, is represented as `1`.
+         * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unit. + */ + public com.google.protobuf.ByteString getUnitBytes() { + java.lang.Object ref = unit_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unit_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. Usage unit used for defining price tiers and for scaling
+         * with the price_unit_count to form the composite price unit.
+         *
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * A unitless dimension, such as a count, is represented as `1`.
+         * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unit to set. + * @return This builder for chaining. + */ + public Builder setUnit(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unit_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Usage unit used for defining price tiers and for scaling
+         * with the price_unit_count to form the composite price unit.
+         *
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * A unitless dimension, such as a count, is represented as `1`.
+         * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnit() { + unit_ = getDefaultInstance().getUnit(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Usage unit used for defining price tiers and for scaling
+         * with the price_unit_count to form the composite price unit.
+         *
+         * See https://ucum.org/ucum.html for the format of the price unit.
+         * A unitless dimension, such as a count, is represented as `1`.
+         * 
+ * + * string unit = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unit to set. + * @return This builder for chaining. + */ + public Builder setUnitBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unit_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object unitDescription_ = ""; + + /** + * + * + *
+         * Output only. The display description of the unit, supplied at time of
+         * onboarding. This value is recommended to be set at least for
+         * dimensionless metrics, but may be empty if no description was provided
+         * at time of onboarding.
+         * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The unitDescription. + */ + public java.lang.String getUnitDescription() { + java.lang.Object ref = unitDescription_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + unitDescription_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The display description of the unit, supplied at time of
+         * onboarding. This value is recommended to be set at least for
+         * dimensionless metrics, but may be empty if no description was provided
+         * at time of onboarding.
+         * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for unitDescription. + */ + public com.google.protobuf.ByteString getUnitDescriptionBytes() { + java.lang.Object ref = unitDescription_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + unitDescription_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The display description of the unit, supplied at time of
+         * onboarding. This value is recommended to be set at least for
+         * dimensionless metrics, but may be empty if no description was provided
+         * at time of onboarding.
+         * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The unitDescription to set. + * @return This builder for chaining. + */ + public Builder setUnitDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + unitDescription_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The display description of the unit, supplied at time of
+         * onboarding. This value is recommended to be set at least for
+         * dimensionless metrics, but may be empty if no description was provided
+         * at time of onboarding.
+         * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearUnitDescription() { + unitDescription_ = getDefaultInstance().getUnitDescription(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The display description of the unit, supplied at time of
+         * onboarding. This value is recommended to be set at least for
+         * dimensionless metrics, but may be empty if no description was provided
+         * at time of onboarding.
+         * 
+ * + * string unit_description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for unitDescription to set. + * @return This builder for chaining. + */ + public Builder setUnitDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + unitDescription_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.type.Decimal priceUnitCount_; + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + priceUnitCountBuilder_; + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceUnitCount field is set. + */ + public boolean hasPriceUnitCount() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceUnitCount. + */ + public com.google.type.Decimal getPriceUnitCount() { + if (priceUnitCountBuilder_ == null) { + return priceUnitCount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : priceUnitCount_; + } else { + return priceUnitCountBuilder_.getMessage(); + } + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceUnitCount(com.google.type.Decimal value) { + if (priceUnitCountBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceUnitCount_ = value; + } else { + priceUnitCountBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceUnitCount(com.google.type.Decimal.Builder builderForValue) { + if (priceUnitCountBuilder_ == null) { + priceUnitCount_ = builderForValue.build(); + } else { + priceUnitCountBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePriceUnitCount(com.google.type.Decimal value) { + if (priceUnitCountBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && priceUnitCount_ != null + && priceUnitCount_ != com.google.type.Decimal.getDefaultInstance()) { + getPriceUnitCountBuilder().mergeFrom(value); + } else { + priceUnitCount_ = value; + } + } else { + priceUnitCountBuilder_.mergeFrom(value); + } + if (priceUnitCount_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPriceUnitCount() { + bitField0_ = (bitField0_ & ~0x00000004); + priceUnitCount_ = null; + if (priceUnitCountBuilder_ != null) { + priceUnitCountBuilder_.dispose(); + priceUnitCountBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.Decimal.Builder getPriceUnitCountBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetPriceUnitCountFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.type.DecimalOrBuilder getPriceUnitCountOrBuilder() { + if (priceUnitCountBuilder_ != null) { + return priceUnitCountBuilder_.getMessageOrBuilder(); + } else { + return priceUnitCount_ == null + ? com.google.type.Decimal.getDefaultInstance() + : priceUnitCount_; + } + } + + /** + * + * + *
+         * Output only. Scaling  the `unit` by the `price_unit_count` forms the
+         * composite "price unit" which is priced by the price tiers.
+         *
+         * This scaling factor is in addition to any numerical prefix symbol on
+         * the `unit`, so the same composite "price unit" can be represented in
+         * several ways, differing only in their presentation to users.
+         *
+         * Examples:
+         *
+         * * $1    per 1    bytes     : unit = By,  price_unit_count = 1
+         * * $1000 per 1    kilobytes : unit = kBy, price_unit_count = 1
+         * * $5000 per 5    kilobytes : unit = kBy, price_unit_count = 5
+         * 
+ * + * + * .google.type.Decimal price_unit_count = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder> + internalGetPriceUnitCountFieldBuilder() { + if (priceUnitCountBuilder_ == null) { + priceUnitCountBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.type.Decimal, + com.google.type.Decimal.Builder, + com.google.type.DecimalOrBuilder>( + getPriceUnitCount(), getParentForChildren(), isClean()); + priceUnitCount_ = null; + } + return priceUnitCountBuilder_; + } + + private java.util.List< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier> + priceTiers_ = java.util.Collections.emptyList(); + + private void ensurePriceTiersIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + priceTiers_ = + new java.util.ArrayList< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier>( + priceTiers_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder> + priceTiersBuilder_; + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier> + getPriceTiersList() { + if (priceTiersBuilder_ == null) { + return java.util.Collections.unmodifiableList(priceTiers_); + } else { + return priceTiersBuilder_.getMessageList(); + } + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getPriceTiersCount() { + if (priceTiersBuilder_ == null) { + return priceTiers_.size(); + } else { + return priceTiersBuilder_.getCount(); + } + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + getPriceTiers(int index) { + if (priceTiersBuilder_ == null) { + return priceTiers_.get(index); + } else { + return priceTiersBuilder_.getMessage(index); + } + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceTiers( + int index, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier value) { + if (priceTiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePriceTiersIsMutable(); + priceTiers_.set(index, value); + onChanged(); + } else { + priceTiersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceTiers( + int index, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + builderForValue) { + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + priceTiers_.set(index, builderForValue.build()); + onChanged(); + } else { + priceTiersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addPriceTiers( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier value) { + if (priceTiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePriceTiersIsMutable(); + priceTiers_.add(value); + onChanged(); + } else { + priceTiersBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addPriceTiers( + int index, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier value) { + if (priceTiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePriceTiersIsMutable(); + priceTiers_.add(index, value); + onChanged(); + } else { + priceTiersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addPriceTiers( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + builderForValue) { + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + priceTiers_.add(builderForValue.build()); + onChanged(); + } else { + priceTiersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addPriceTiers( + int index, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + builderForValue) { + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + priceTiers_.add(index, builderForValue.build()); + onChanged(); + } else { + priceTiersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllPriceTiers( + java.lang.Iterable< + ? extends + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier> + values) { + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, priceTiers_); + onChanged(); + } else { + priceTiersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPriceTiers() { + if (priceTiersBuilder_ == null) { + priceTiers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + priceTiersBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removePriceTiers(int index) { + if (priceTiersBuilder_ == null) { + ensurePriceTiersIsMutable(); + priceTiers_.remove(index); + onChanged(); + } else { + priceTiersBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + getPriceTiersBuilder(int index) { + return internalGetPriceTiersFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierOrBuilder + getPriceTiersOrBuilder(int index) { + if (priceTiersBuilder_ == null) { + return priceTiers_.get(index); + } else { + return priceTiersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + ? extends + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder> + getPriceTiersOrBuilderList() { + if (priceTiersBuilder_ != null) { + return priceTiersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(priceTiers_); + } + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + addPriceTiersBuilder() { + return internalGetPriceTiersFieldBuilder() + .addBuilder( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .getDefaultInstance()); + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder + addPriceTiersBuilder(int index) { + return internalGetPriceTiersFieldBuilder() + .addBuilder( + index, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .getDefaultInstance()); + } + + /** + * + * + *
+         * Output only. The list of price tiers for the SKU, ordered by the
+         * start_amount.
+         *
+         * The tiers are non-overlapping and are collectively bounded below by
+         * zero and unbounded above to cover the entire range of possible metric
+         * usage. Each tier is bounded below inclusively by its start_amount and
+         * bounded above exclusively by the start_amount of the next tier, or else
+         * unbounded above if there is no next tier.
+         *
+         * Usage of the metric is aggregated by customer billing account on a
+         * monthly basis and billed in a graduated manner according to the price
+         * tiers, with each marginal unit of usage priced accoring to the tier in
+         * which it falls.
+         * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier price_tiers = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder> + getPriceTiersBuilderList() { + return internalGetPriceTiersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder> + internalGetPriceTiersFieldBuilder() { + if (priceTiersBuilder_ == null) { + priceTiersBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTier + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + .PriceTierOrBuilder>( + priceTiers_, + ((bitField0_ & 0x00000008) != 0), + getParentForChildren(), + isClean()); + priceTiers_ = null; + } + return priceTiersBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TieredPrice 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.cloud.commerceproducer.v1beta.Sku.SkuPrice.TieredPrice + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface AiPlatformManagedModelEndpointLocationOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the regionId field is set. + */ + boolean hasRegionId(); + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The regionId. + */ + java.lang.String getRegionId(); + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for regionId. + */ + com.google.protobuf.ByteString getRegionIdBytes(); + + /** + * + * + *
+       * Output only. The SKU applies to a [global
+       * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+       * **Note**: This is distinct from the conventional meaning of "global"
+       * as a SKU that applies to all locations.
+       * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the globalEndpoint field is set. + */ + boolean hasGlobalEndpoint(); + + /** + * + * + *
+       * Output only. The SKU applies to a [global
+       * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+       * **Note**: This is distinct from the conventional meaning of "global"
+       * as a SKU that applies to all locations.
+       * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The globalEndpoint. + */ + boolean getGlobalEndpoint(); + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the multiRegionId field is set. + */ + boolean hasMultiRegionId(); + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The multiRegionId. + */ + java.lang.String getMultiRegionId(); + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for multiRegionId. + */ + com.google.protobuf.ByteString getMultiRegionIdBytes(); + + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation + .LocationCase + getLocationCase(); + } + + /** + * + * + *
+     * Location scope for a SKU that applies to an AI Platform Managed Model
+     * endpoint.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation} + */ + public static final class AiPlatformManagedModelEndpointLocation + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation) + AiPlatformManagedModelEndpointLocationOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AiPlatformManagedModelEndpointLocation"); + } + + // Use AiPlatformManagedModelEndpointLocation.newBuilder() to construct. + private AiPlatformManagedModelEndpointLocation( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AiPlatformManagedModelEndpointLocation() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder.class); + } + + private int locationCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object location_; + + public enum LocationCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + REGION_ID(1), + GLOBAL_ENDPOINT(2), + MULTI_REGION_ID(3), + LOCATION_NOT_SET(0); + private final int value; + + private LocationCase(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 LocationCase valueOf(int value) { + return forNumber(value); + } + + public static LocationCase forNumber(int value) { + switch (value) { + case 1: + return REGION_ID; + case 2: + return GLOBAL_ENDPOINT; + case 3: + return MULTI_REGION_ID; + case 0: + return LOCATION_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public LocationCase getLocationCase() { + return LocationCase.forNumber(locationCase_); + } + + public static final int REGION_ID_FIELD_NUMBER = 1; + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the regionId field is set. + */ + public boolean hasRegionId() { + return locationCase_ == 1; + } + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The regionId. + */ + public java.lang.String getRegionId() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + 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(); + if (locationCase_ == 1) { + location_ = s; + } + return s; + } + } + + /** + * + * + *
+       * Output only. The SKU applies to a region.
+       * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for regionId. + */ + public com.google.protobuf.ByteString getRegionIdBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (locationCase_ == 1) { + location_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int GLOBAL_ENDPOINT_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Output only. The SKU applies to a [global
+       * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+       * **Note**: This is distinct from the conventional meaning of "global"
+       * as a SKU that applies to all locations.
+       * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the globalEndpoint field is set. + */ + @java.lang.Override + public boolean hasGlobalEndpoint() { + return locationCase_ == 2; + } + + /** + * + * + *
+       * Output only. The SKU applies to a [global
+       * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+       * **Note**: This is distinct from the conventional meaning of "global"
+       * as a SKU that applies to all locations.
+       * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The globalEndpoint. + */ + @java.lang.Override + public boolean getGlobalEndpoint() { + if (locationCase_ == 2) { + return (java.lang.Boolean) location_; + } + return false; + } + + public static final int MULTI_REGION_ID_FIELD_NUMBER = 3; + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the multiRegionId field is set. + */ + public boolean hasMultiRegionId() { + return locationCase_ == 3; + } + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The multiRegionId. + */ + public java.lang.String getMultiRegionId() { + java.lang.Object ref = ""; + if (locationCase_ == 3) { + ref = location_; + } + 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(); + if (locationCase_ == 3) { + location_ = s; + } + return s; + } + } + + /** + * + * + *
+       * Output only. The SKU applies to a multi-region.
+       * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for multiRegionId. + */ + public com.google.protobuf.ByteString getMultiRegionIdBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 3) { + ref = location_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (locationCase_ == 3) { + location_ = 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 (locationCase_ == 1) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, location_); + } + if (locationCase_ == 2) { + output.writeBool(2, (boolean) ((java.lang.Boolean) location_)); + } + if (locationCase_ == 3) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, location_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (locationCase_ == 1) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, location_); + } + if (locationCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeBoolSize( + 2, (boolean) ((java.lang.Boolean) location_)); + } + if (locationCase_ == 3) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, location_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation + other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation) + obj; + + if (!getLocationCase().equals(other.getLocationCase())) return false; + switch (locationCase_) { + case 1: + if (!getRegionId().equals(other.getRegionId())) return false; + break; + case 2: + if (getGlobalEndpoint() != other.getGlobalEndpoint()) return false; + break; + case 3: + if (!getMultiRegionId().equals(other.getMultiRegionId())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (locationCase_) { + case 1: + hash = (37 * hash) + REGION_ID_FIELD_NUMBER; + hash = (53 * hash) + getRegionId().hashCode(); + break; + case 2: + hash = (37 * hash) + GLOBAL_ENDPOINT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getGlobalEndpoint()); + break; + case 3: + hash = (37 * hash) + MULTI_REGION_ID_FIELD_NUMBER; + hash = (53 * hash) + getMultiRegionId().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Location scope for a SKU that applies to an AI Platform Managed Model
+       * endpoint.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + locationCase_ = 0; + location_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + result) { + result.locationCase_ = locationCase_; + result.location_ = this.location_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation.getDefaultInstance()) return this; + switch (other.getLocationCase()) { + case REGION_ID: + { + locationCase_ = 1; + location_ = other.location_; + onChanged(); + break; + } + case GLOBAL_ENDPOINT: + { + setGlobalEndpoint(other.getGlobalEndpoint()); + break; + } + case MULTI_REGION_ID: + { + locationCase_ = 3; + location_ = other.location_; + onChanged(); + break; + } + case LOCATION_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + locationCase_ = 1; + location_ = s; + break; + } // case 10 + case 16: + { + location_ = input.readBool(); + locationCase_ = 2; + break; + } // case 16 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + locationCase_ = 3; + location_ = s; + break; + } // case 26 + 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 locationCase_ = 0; + private java.lang.Object location_; + + public LocationCase getLocationCase() { + return LocationCase.forNumber(locationCase_); + } + + public Builder clearLocation() { + locationCase_ = 0; + location_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the regionId field is set. + */ + @java.lang.Override + public boolean hasRegionId() { + return locationCase_ == 1; + } + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The regionId. + */ + @java.lang.Override + public java.lang.String getRegionId() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (locationCase_ == 1) { + location_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for regionId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRegionIdBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 1) { + ref = location_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (locationCase_ == 1) { + location_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The regionId to set. + * @return This builder for chaining. + */ + public Builder setRegionId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + locationCase_ = 1; + location_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearRegionId() { + if (locationCase_ == 1) { + locationCase_ = 0; + location_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a region.
+         * 
+ * + * string region_id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for regionId to set. + * @return This builder for chaining. + */ + public Builder setRegionIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + locationCase_ = 1; + location_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a [global
+         * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+         * **Note**: This is distinct from the conventional meaning of "global"
+         * as a SKU that applies to all locations.
+         * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the globalEndpoint field is set. + */ + public boolean hasGlobalEndpoint() { + return locationCase_ == 2; + } + + /** + * + * + *
+         * Output only. The SKU applies to a [global
+         * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+         * **Note**: This is distinct from the conventional meaning of "global"
+         * as a SKU that applies to all locations.
+         * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The globalEndpoint. + */ + public boolean getGlobalEndpoint() { + if (locationCase_ == 2) { + return (java.lang.Boolean) location_; + } + return false; + } + + /** + * + * + *
+         * Output only. The SKU applies to a [global
+         * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+         * **Note**: This is distinct from the conventional meaning of "global"
+         * as a SKU that applies to all locations.
+         * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The globalEndpoint to set. + * @return This builder for chaining. + */ + public Builder setGlobalEndpoint(boolean value) { + + locationCase_ = 2; + location_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a [global
+         * endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations).
+         * **Note**: This is distinct from the conventional meaning of "global"
+         * as a SKU that applies to all locations.
+         * 
+ * + * bool global_endpoint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearGlobalEndpoint() { + if (locationCase_ == 2) { + locationCase_ = 0; + location_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the multiRegionId field is set. + */ + @java.lang.Override + public boolean hasMultiRegionId() { + return locationCase_ == 3; + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The multiRegionId. + */ + @java.lang.Override + public java.lang.String getMultiRegionId() { + java.lang.Object ref = ""; + if (locationCase_ == 3) { + ref = location_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (locationCase_ == 3) { + location_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for multiRegionId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getMultiRegionIdBytes() { + java.lang.Object ref = ""; + if (locationCase_ == 3) { + ref = location_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (locationCase_ == 3) { + location_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The multiRegionId to set. + * @return This builder for chaining. + */ + public Builder setMultiRegionId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + locationCase_ = 3; + location_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearMultiRegionId() { + if (locationCase_ == 3) { + locationCase_ = 0; + location_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+         * Output only. The SKU applies to a multi-region.
+         * 
+ * + * string multi_region_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for multiRegionId to set. + * @return This builder for chaining. + */ + public Builder setMultiRegionIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + locationCase_ = 3; + location_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocation) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AiPlatformManagedModelEndpointLocation 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.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelEndpointLocation + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int skuTypeCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object skuType_; + + public enum SkuTypeCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + INACTIVE(2), + MANAGED_SERVICE_METRIC_USAGE_FEE(3), + GCE_LICENSE_USAGE_FEE(4), + GKE_POD_USAGE_FEE(5), + AI_PLATFORM_MANAGED_MODEL_USAGE_FEE(6), + AI_PLATFORM_PROVISIONED_THROUGHPUT_FEE(7), + AI_PLATFORM_DEPLOYED_MODEL_USAGE_FEE(8), + FLAT_SUBSCRIPTION_FEE(9), + SKUTYPE_NOT_SET(0); + private final int value; + + private SkuTypeCase(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 SkuTypeCase valueOf(int value) { + return forNumber(value); + } + + public static SkuTypeCase forNumber(int value) { + switch (value) { + case 2: + return INACTIVE; + case 3: + return MANAGED_SERVICE_METRIC_USAGE_FEE; + case 4: + return GCE_LICENSE_USAGE_FEE; + case 5: + return GKE_POD_USAGE_FEE; + case 6: + return AI_PLATFORM_MANAGED_MODEL_USAGE_FEE; + case 7: + return AI_PLATFORM_PROVISIONED_THROUGHPUT_FEE; + case 8: + return AI_PLATFORM_DEPLOYED_MODEL_USAGE_FEE; + case 9: + return FLAT_SUBSCRIPTION_FEE; + case 0: + return SKUTYPE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SkuTypeCase getSkuTypeCase() { + return SkuTypeCase.forNumber(skuTypeCase_); + } + + public static final int INACTIVE_FIELD_NUMBER = 2; + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inactive field is set. + */ + @java.lang.Override + public boolean hasInactive() { + return skuTypeCase_ == 2; + } + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inactive. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice getInactive() { + if (skuTypeCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU has been disabled and has no price.
+     * SKUs, once created and allowed to go into effect, are never deleted.
+     * Disabled SKUs may accumulate over the lifetime of a product as the
+     * product's pricing evolves, and are retained for historical reference.
+     * A SKU in this state generally remains in this state indefinitely, but
+     * may be reactivated if needed. Clients must not depend on inactive SKUs
+     * remaining inactive.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder + getInactiveOrBuilder() { + if (skuTypeCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + + public static final int MANAGED_SERVICE_METRIC_USAGE_FEE_FIELD_NUMBER = 3; + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the managedServiceMetricUsageFee field is set. + */ + @java.lang.Override + public boolean hasManagedServiceMetricUsageFee() { + return skuTypeCase_ == 3; + } + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The managedServiceMetricUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + getManagedServiceMetricUsageFee() { + if (skuTypeCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices usage reported by the partner for a
+     * partner-defined custom billing metric.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder + getManagedServiceMetricUsageFeeOrBuilder() { + if (skuTypeCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + + public static final int GCE_LICENSE_USAGE_FEE_FIELD_NUMBER = 4; + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gceLicenseUsageFee field is set. + */ + @java.lang.Override + public boolean hasGceLicenseUsageFee() { + return skuTypeCase_ == 4; + } + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gceLicenseUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + getGceLicenseUsageFee() { + if (skuTypeCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices usage of a Compute Engine License via a
+     * license fee applied to running instances that use the license.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder + getGceLicenseUsageFeeOrBuilder() { + if (skuTypeCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + + public static final int GKE_POD_USAGE_FEE_FIELD_NUMBER = 5; + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gkePodUsageFee field is set. + */ + @java.lang.Override + public boolean hasGkePodUsageFee() { + return skuTypeCase_ == 5; + } + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gkePodUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + getGkePodUsageFee() { + if (skuTypeCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices usage of software deployed on Kubernetes
+     * Engine.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder + getGkePodUsageFeeOrBuilder() { + if (skuTypeCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + + public static final int AI_PLATFORM_MANAGED_MODEL_USAGE_FEE_FIELD_NUMBER = 6; + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformManagedModelUsageFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformManagedModelUsageFee() { + return skuTypeCase_ == 6; + } + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformManagedModelUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + getAiPlatformManagedModelUsageFee() { + if (skuTypeCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI Platform Managed Model
+     * (MaaS).
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder + getAiPlatformManagedModelUsageFeeOrBuilder() { + if (skuTypeCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .getDefaultInstance(); + } + + public static final int AI_PLATFORM_PROVISIONED_THROUGHPUT_FEE_FIELD_NUMBER = 7; + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformProvisionedThroughputFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformProvisionedThroughputFee() { + return skuTypeCase_ == 7; + } + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformProvisionedThroughputFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + getAiPlatformProvisionedThroughputFee() { + if (skuTypeCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices reservation of AI Platform provisioned
+     * throughput.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder + getAiPlatformProvisionedThroughputFeeOrBuilder() { + if (skuTypeCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + + public static final int AI_PLATFORM_DEPLOYED_MODEL_USAGE_FEE_FIELD_NUMBER = 8; + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformDeployedModelUsageFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformDeployedModelUsageFee() { + return skuTypeCase_ == 8; + } + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformDeployedModelUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + getAiPlatformDeployedModelUsageFee() { + if (skuTypeCase_ == 8) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU prices usage of an AI model deployed on AI
+     * Platform.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder + getAiPlatformDeployedModelUsageFeeOrBuilder() { + if (skuTypeCase_ == 8) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .getDefaultInstance(); + } + + public static final int FLAT_SUBSCRIPTION_FEE_FIELD_NUMBER = 9; + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatSubscriptionFee field is set. + */ + @java.lang.Override + public boolean hasFlatSubscriptionFee() { + return skuTypeCase_ == 9; + } + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatSubscriptionFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getFlatSubscriptionFee() { + if (skuTypeCase_ == 9) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. The SKU applies a flat subscription fee.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder + getFlatSubscriptionFeeOrBuilder() { + if (skuTypeCase_ == 9) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + + public static final int EFFECTIVE_TIME_FIELD_NUMBER = 1; + private com.google.protobuf.Timestamp effectiveTime_; + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + @java.lang.Override + public boolean hasEffectiveTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEffectiveTime() { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + + /** + * + * + *
+     * Output only. The start of the time interval during which this price is
+     * effective.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder() { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getEffectiveTime()); + } + if (skuTypeCase_ == 2) { + output.writeMessage( + 2, (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) skuType_); + } + if (skuTypeCase_ == 3) { + output.writeMessage( + 3, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + skuType_); + } + if (skuTypeCase_ == 4) { + output.writeMessage( + 4, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + skuType_); + } + if (skuTypeCase_ == 5) { + output.writeMessage( + 5, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + skuType_); + } + if (skuTypeCase_ == 6) { + output.writeMessage( + 6, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee) + skuType_); + } + if (skuTypeCase_ == 7) { + output.writeMessage( + 7, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_); + } + if (skuTypeCase_ == 8) { + output.writeMessage( + 8, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee) + skuType_); + } + if (skuTypeCase_ == 9) { + output.writeMessage( + 9, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) skuType_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEffectiveTime()); + } + if (skuTypeCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) skuType_); + } + if (skuTypeCase_ == 3) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 3, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee) + skuType_); + } + if (skuTypeCase_ == 4) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 4, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee) + skuType_); + } + if (skuTypeCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee) + skuType_); + } + if (skuTypeCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_); + } + if (skuTypeCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 7, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_); + } + if (skuTypeCase_ == 8) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 8, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_); + } + if (skuTypeCase_ == 9) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 9, + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + skuType_); + } + 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.cloud.commerceproducer.v1beta.Sku.SkuPrice)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice other = + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice) obj; + + if (hasEffectiveTime() != other.hasEffectiveTime()) return false; + if (hasEffectiveTime()) { + if (!getEffectiveTime().equals(other.getEffectiveTime())) return false; + } + if (!getSkuTypeCase().equals(other.getSkuTypeCase())) return false; + switch (skuTypeCase_) { + case 2: + if (!getInactive().equals(other.getInactive())) return false; + break; + case 3: + if (!getManagedServiceMetricUsageFee().equals(other.getManagedServiceMetricUsageFee())) + return false; + break; + case 4: + if (!getGceLicenseUsageFee().equals(other.getGceLicenseUsageFee())) return false; + break; + case 5: + if (!getGkePodUsageFee().equals(other.getGkePodUsageFee())) return false; + break; + case 6: + if (!getAiPlatformManagedModelUsageFee() + .equals(other.getAiPlatformManagedModelUsageFee())) return false; + break; + case 7: + if (!getAiPlatformProvisionedThroughputFee() + .equals(other.getAiPlatformProvisionedThroughputFee())) return false; + break; + case 8: + if (!getAiPlatformDeployedModelUsageFee() + .equals(other.getAiPlatformDeployedModelUsageFee())) return false; + break; + case 9: + if (!getFlatSubscriptionFee().equals(other.getFlatSubscriptionFee())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasEffectiveTime()) { + hash = (37 * hash) + EFFECTIVE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEffectiveTime().hashCode(); + } + switch (skuTypeCase_) { + case 2: + hash = (37 * hash) + INACTIVE_FIELD_NUMBER; + hash = (53 * hash) + getInactive().hashCode(); + break; + case 3: + hash = (37 * hash) + MANAGED_SERVICE_METRIC_USAGE_FEE_FIELD_NUMBER; + hash = (53 * hash) + getManagedServiceMetricUsageFee().hashCode(); + break; + case 4: + hash = (37 * hash) + GCE_LICENSE_USAGE_FEE_FIELD_NUMBER; + hash = (53 * hash) + getGceLicenseUsageFee().hashCode(); + break; + case 5: + hash = (37 * hash) + GKE_POD_USAGE_FEE_FIELD_NUMBER; + hash = (53 * hash) + getGkePodUsageFee().hashCode(); + break; + case 6: + hash = (37 * hash) + AI_PLATFORM_MANAGED_MODEL_USAGE_FEE_FIELD_NUMBER; + hash = (53 * hash) + getAiPlatformManagedModelUsageFee().hashCode(); + break; + case 7: + hash = (37 * hash) + AI_PLATFORM_PROVISIONED_THROUGHPUT_FEE_FIELD_NUMBER; + hash = (53 * hash) + getAiPlatformProvisionedThroughputFee().hashCode(); + break; + case 8: + hash = (37 * hash) + AI_PLATFORM_DEPLOYED_MODEL_USAGE_FEE_FIELD_NUMBER; + hash = (53 * hash) + getAiPlatformDeployedModelUsageFee().hashCode(); + break; + case 9: + hash = (37 * hash) + FLAT_SUBSCRIPTION_FEE_FIELD_NUMBER; + hash = (53 * hash) + getFlatSubscriptionFee().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice 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.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku.SkuPrice 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The price of the SKU, active during a particular time range.
+     * Prices are in all cases in USD. Customers are billed in the currency of
+     * their billing account, subject to the currency conversion rate in effect
+     * at the time.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku.SkuPrice} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku.SkuPrice) + com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.class, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetEffectiveTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (inactiveBuilder_ != null) { + inactiveBuilder_.clear(); + } + if (managedServiceMetricUsageFeeBuilder_ != null) { + managedServiceMetricUsageFeeBuilder_.clear(); + } + if (gceLicenseUsageFeeBuilder_ != null) { + gceLicenseUsageFeeBuilder_.clear(); + } + if (gkePodUsageFeeBuilder_ != null) { + gkePodUsageFeeBuilder_.clear(); + } + if (aiPlatformManagedModelUsageFeeBuilder_ != null) { + aiPlatformManagedModelUsageFeeBuilder_.clear(); + } + if (aiPlatformProvisionedThroughputFeeBuilder_ != null) { + aiPlatformProvisionedThroughputFeeBuilder_.clear(); + } + if (aiPlatformDeployedModelUsageFeeBuilder_ != null) { + aiPlatformDeployedModelUsageFeeBuilder_.clear(); + } + if (flatSubscriptionFeeBuilder_ != null) { + flatSubscriptionFeeBuilder_.clear(); + } + effectiveTime_ = null; + if (effectiveTimeBuilder_ != null) { + effectiveTimeBuilder_.dispose(); + effectiveTimeBuilder_ = null; + } + skuTypeCase_ = 0; + skuType_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice build() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice result = + new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000100) != 0)) { + result.effectiveTime_ = + effectiveTimeBuilder_ == null ? effectiveTime_ : effectiveTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice result) { + result.skuTypeCase_ = skuTypeCase_; + result.skuType_ = this.skuType_; + if (skuTypeCase_ == 2 && inactiveBuilder_ != null) { + result.skuType_ = inactiveBuilder_.build(); + } + if (skuTypeCase_ == 3 && managedServiceMetricUsageFeeBuilder_ != null) { + result.skuType_ = managedServiceMetricUsageFeeBuilder_.build(); + } + if (skuTypeCase_ == 4 && gceLicenseUsageFeeBuilder_ != null) { + result.skuType_ = gceLicenseUsageFeeBuilder_.build(); + } + if (skuTypeCase_ == 5 && gkePodUsageFeeBuilder_ != null) { + result.skuType_ = gkePodUsageFeeBuilder_.build(); + } + if (skuTypeCase_ == 6 && aiPlatformManagedModelUsageFeeBuilder_ != null) { + result.skuType_ = aiPlatformManagedModelUsageFeeBuilder_.build(); + } + if (skuTypeCase_ == 7 && aiPlatformProvisionedThroughputFeeBuilder_ != null) { + result.skuType_ = aiPlatformProvisionedThroughputFeeBuilder_.build(); + } + if (skuTypeCase_ == 8 && aiPlatformDeployedModelUsageFeeBuilder_ != null) { + result.skuType_ = aiPlatformDeployedModelUsageFeeBuilder_.build(); + } + if (skuTypeCase_ == 9 && flatSubscriptionFeeBuilder_ != null) { + result.skuType_ = flatSubscriptionFeeBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice other) { + if (other == com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.getDefaultInstance()) + return this; + if (other.hasEffectiveTime()) { + mergeEffectiveTime(other.getEffectiveTime()); + } + switch (other.getSkuTypeCase()) { + case INACTIVE: + { + mergeInactive(other.getInactive()); + break; + } + case MANAGED_SERVICE_METRIC_USAGE_FEE: + { + mergeManagedServiceMetricUsageFee(other.getManagedServiceMetricUsageFee()); + break; + } + case GCE_LICENSE_USAGE_FEE: + { + mergeGceLicenseUsageFee(other.getGceLicenseUsageFee()); + break; + } + case GKE_POD_USAGE_FEE: + { + mergeGkePodUsageFee(other.getGkePodUsageFee()); + break; + } + case AI_PLATFORM_MANAGED_MODEL_USAGE_FEE: + { + mergeAiPlatformManagedModelUsageFee(other.getAiPlatformManagedModelUsageFee()); + break; + } + case AI_PLATFORM_PROVISIONED_THROUGHPUT_FEE: + { + mergeAiPlatformProvisionedThroughputFee( + other.getAiPlatformProvisionedThroughputFee()); + break; + } + case AI_PLATFORM_DEPLOYED_MODEL_USAGE_FEE: + { + mergeAiPlatformDeployedModelUsageFee(other.getAiPlatformDeployedModelUsageFee()); + break; + } + case FLAT_SUBSCRIPTION_FEE: + { + mergeFlatSubscriptionFee(other.getFlatSubscriptionFee()); + break; + } + case SKUTYPE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetEffectiveTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetInactiveFieldBuilder().getBuilder(), extensionRegistry); + skuTypeCase_ = 2; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetManagedServiceMetricUsageFeeFieldBuilder().getBuilder(), + extensionRegistry); + skuTypeCase_ = 3; + break; + } // case 26 + case 34: + { + input.readMessage( + internalGetGceLicenseUsageFeeFieldBuilder().getBuilder(), extensionRegistry); + skuTypeCase_ = 4; + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetGkePodUsageFeeFieldBuilder().getBuilder(), extensionRegistry); + skuTypeCase_ = 5; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetAiPlatformManagedModelUsageFeeFieldBuilder().getBuilder(), + extensionRegistry); + skuTypeCase_ = 6; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetAiPlatformProvisionedThroughputFeeFieldBuilder().getBuilder(), + extensionRegistry); + skuTypeCase_ = 7; + break; + } // case 58 + case 66: + { + input.readMessage( + internalGetAiPlatformDeployedModelUsageFeeFieldBuilder().getBuilder(), + extensionRegistry); + skuTypeCase_ = 8; + break; + } // case 66 + case 74: + { + input.readMessage( + internalGetFlatSubscriptionFeeFieldBuilder().getBuilder(), extensionRegistry); + skuTypeCase_ = 9; + break; + } // case 74 + 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 skuTypeCase_ = 0; + private java.lang.Object skuType_; + + public SkuTypeCase getSkuTypeCase() { + return SkuTypeCase.forNumber(skuTypeCase_); + } + + public Builder clearSkuType() { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder> + inactiveBuilder_; + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the inactive field is set. + */ + @java.lang.Override + public boolean hasInactive() { + return skuTypeCase_ == 2; + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The inactive. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice getInactive() { + if (inactiveBuilder_ == null) { + if (skuTypeCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } else { + if (skuTypeCase_ == 2) { + return inactiveBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInactive( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice value) { + if (inactiveBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + inactiveBuilder_.setMessage(value); + } + skuTypeCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInactive( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder + builderForValue) { + if (inactiveBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + inactiveBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeInactive( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice value) { + if (inactiveBuilder_ == null) { + if (skuTypeCase_ == 2 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 2) { + inactiveBuilder_.mergeFrom(value); + } else { + inactiveBuilder_.setMessage(value); + } + } + skuTypeCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearInactive() { + if (inactiveBuilder_ == null) { + if (skuTypeCase_ == 2) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 2) { + skuTypeCase_ = 0; + skuType_ = null; + } + inactiveBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder + getInactiveBuilder() { + return internalGetInactiveFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder + getInactiveOrBuilder() { + if ((skuTypeCase_ == 2) && (inactiveBuilder_ != null)) { + return inactiveBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU has been disabled and has no price.
+       * SKUs, once created and allowed to go into effect, are never deleted.
+       * Disabled SKUs may accumulate over the lifetime of a product as the
+       * product's pricing evolves, and are retained for historical reference.
+       * A SKU in this state generally remains in this state indefinitely, but
+       * may be reactivated if needed. Clients must not depend on inactive SKUs
+       * remaining inactive.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice inactive = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder> + internalGetInactiveFieldBuilder() { + if (inactiveBuilder_ == null) { + if (!(skuTypeCase_ == 2)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice + .getDefaultInstance(); + } + inactiveBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPrice) skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 2; + onChanged(); + return inactiveBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder> + managedServiceMetricUsageFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the managedServiceMetricUsageFee field is set. + */ + @java.lang.Override + public boolean hasManagedServiceMetricUsageFee() { + return skuTypeCase_ == 3; + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The managedServiceMetricUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + getManagedServiceMetricUsageFee() { + if (managedServiceMetricUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } else { + if (skuTypeCase_ == 3) { + return managedServiceMetricUsageFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setManagedServiceMetricUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + value) { + if (managedServiceMetricUsageFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + managedServiceMetricUsageFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 3; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setManagedServiceMetricUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee.Builder + builderForValue) { + if (managedServiceMetricUsageFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + managedServiceMetricUsageFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 3; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeManagedServiceMetricUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + value) { + if (managedServiceMetricUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 3 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 3) { + managedServiceMetricUsageFeeBuilder_.mergeFrom(value); + } else { + managedServiceMetricUsageFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 3; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearManagedServiceMetricUsageFee() { + if (managedServiceMetricUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 3) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 3) { + skuTypeCase_ = 0; + skuType_ = null; + } + managedServiceMetricUsageFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder + getManagedServiceMetricUsageFeeBuilder() { + return internalGetManagedServiceMetricUsageFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder + getManagedServiceMetricUsageFeeOrBuilder() { + if ((skuTypeCase_ == 3) && (managedServiceMetricUsageFeeBuilder_ != null)) { + return managedServiceMetricUsageFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 3) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage reported by the partner for a
+       * partner-defined custom billing metric.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder> + internalGetManagedServiceMetricUsageFeeFieldBuilder() { + if (managedServiceMetricUsageFeeBuilder_ == null) { + if (!(skuTypeCase_ == 3)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .getDefaultInstance(); + } + managedServiceMetricUsageFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ManagedServiceMetricUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ManagedServiceMetricUsageFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 3; + onChanged(); + return managedServiceMetricUsageFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder> + gceLicenseUsageFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gceLicenseUsageFee field is set. + */ + @java.lang.Override + public boolean hasGceLicenseUsageFee() { + return skuTypeCase_ == 4; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gceLicenseUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + getGceLicenseUsageFee() { + if (gceLicenseUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } else { + if (skuTypeCase_ == 4) { + return gceLicenseUsageFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setGceLicenseUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + value) { + if (gceLicenseUsageFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + gceLicenseUsageFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 4; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setGceLicenseUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee.Builder + builderForValue) { + if (gceLicenseUsageFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + gceLicenseUsageFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 4; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeGceLicenseUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + value) { + if (gceLicenseUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 4 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 4) { + gceLicenseUsageFeeBuilder_.mergeFrom(value); + } else { + gceLicenseUsageFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 4; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearGceLicenseUsageFee() { + if (gceLicenseUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 4) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 4) { + skuTypeCase_ = 0; + skuType_ = null; + } + gceLicenseUsageFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder + getGceLicenseUsageFeeBuilder() { + return internalGetGceLicenseUsageFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder + getGceLicenseUsageFeeOrBuilder() { + if ((skuTypeCase_ == 4) && (gceLicenseUsageFeeBuilder_ != null)) { + return gceLicenseUsageFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 4) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of a Compute Engine License via a
+       * license fee applied to running instances that use the license.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder> + internalGetGceLicenseUsageFeeFieldBuilder() { + if (gceLicenseUsageFeeBuilder_ == null) { + if (!(skuTypeCase_ == 4)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .getDefaultInstance(); + } + gceLicenseUsageFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.ComputeEngineLicenseUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .ComputeEngineLicenseUsageFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 4; + onChanged(); + return gceLicenseUsageFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder> + gkePodUsageFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the gkePodUsageFee field is set. + */ + @java.lang.Override + public boolean hasGkePodUsageFee() { + return skuTypeCase_ == 5; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The gkePodUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + getGkePodUsageFee() { + if (gkePodUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } else { + if (skuTypeCase_ == 5) { + return gkePodUsageFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setGkePodUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee value) { + if (gkePodUsageFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + gkePodUsageFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 5; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setGkePodUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.Builder + builderForValue) { + if (gkePodUsageFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + gkePodUsageFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 5; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeGkePodUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee value) { + if (gkePodUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 5 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 5) { + gkePodUsageFeeBuilder_.mergeFrom(value); + } else { + gkePodUsageFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 5; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearGkePodUsageFee() { + if (gkePodUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 5) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 5) { + skuTypeCase_ = 0; + skuType_ = null; + } + gkePodUsageFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder + getGkePodUsageFeeBuilder() { + return internalGetGkePodUsageFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder + getGkePodUsageFeeOrBuilder() { + if ((skuTypeCase_ == 5) && (gkePodUsageFeeBuilder_ != null)) { + return gkePodUsageFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 5) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of software deployed on Kubernetes
+       * Engine.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder> + internalGetGkePodUsageFeeFieldBuilder() { + if (gkePodUsageFeeBuilder_ == null) { + if (!(skuTypeCase_ == 5)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .getDefaultInstance(); + } + gkePodUsageFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .KubernetesEnginePodUsageFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 5; + onChanged(); + return gkePodUsageFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder> + aiPlatformManagedModelUsageFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformManagedModelUsageFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformManagedModelUsageFee() { + return skuTypeCase_ == 6; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformManagedModelUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + getAiPlatformManagedModelUsageFee() { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance(); + } else { + if (skuTypeCase_ == 6) { + return aiPlatformManagedModelUsageFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformManagedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + value) { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + aiPlatformManagedModelUsageFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 6; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformManagedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .Builder + builderForValue) { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + aiPlatformManagedModelUsageFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 6; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAiPlatformManagedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + value) { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 6 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 6) { + aiPlatformManagedModelUsageFeeBuilder_.mergeFrom(value); + } else { + aiPlatformManagedModelUsageFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 6; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAiPlatformManagedModelUsageFee() { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 6) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 6) { + skuTypeCase_ = 0; + skuType_ = null; + } + aiPlatformManagedModelUsageFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .Builder + getAiPlatformManagedModelUsageFeeBuilder() { + return internalGetAiPlatformManagedModelUsageFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder + getAiPlatformManagedModelUsageFeeOrBuilder() { + if ((skuTypeCase_ == 6) && (aiPlatformManagedModelUsageFeeBuilder_ != null)) { + return aiPlatformManagedModelUsageFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 6) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI Platform Managed Model
+       * (MaaS).
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder> + internalGetAiPlatformManagedModelUsageFeeFieldBuilder() { + if (aiPlatformManagedModelUsageFeeBuilder_ == null) { + if (!(skuTypeCase_ == 6)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee + .getDefaultInstance(); + } + aiPlatformManagedModelUsageFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformManagedModelUsageFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 6; + onChanged(); + return aiPlatformManagedModelUsageFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder> + aiPlatformProvisionedThroughputFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformProvisionedThroughputFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformProvisionedThroughputFee() { + return skuTypeCase_ == 7; + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformProvisionedThroughputFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee + getAiPlatformProvisionedThroughputFee() { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + if (skuTypeCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } else { + if (skuTypeCase_ == 7) { + return aiPlatformProvisionedThroughputFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformProvisionedThroughputFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + value) { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + aiPlatformProvisionedThroughputFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 7; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformProvisionedThroughputFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + .Builder + builderForValue) { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + aiPlatformProvisionedThroughputFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 7; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAiPlatformProvisionedThroughputFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee + value) { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + if (skuTypeCase_ == 7 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 7) { + aiPlatformProvisionedThroughputFeeBuilder_.mergeFrom(value); + } else { + aiPlatformProvisionedThroughputFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 7; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAiPlatformProvisionedThroughputFee() { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + if (skuTypeCase_ == 7) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 7) { + skuTypeCase_ = 0; + skuType_ = null; + } + aiPlatformProvisionedThroughputFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder + getAiPlatformProvisionedThroughputFeeBuilder() { + return internalGetAiPlatformProvisionedThroughputFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder + getAiPlatformProvisionedThroughputFeeOrBuilder() { + if ((skuTypeCase_ == 7) && (aiPlatformProvisionedThroughputFeeBuilder_ != null)) { + return aiPlatformProvisionedThroughputFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 7) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices reservation of AI Platform provisioned
+       * throughput.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFee ai_platform_provisioned_throughput_fee = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder> + internalGetAiPlatformProvisionedThroughputFeeFieldBuilder() { + if (aiPlatformProvisionedThroughputFeeBuilder_ == null) { + if (!(skuTypeCase_ == 7)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.getDefaultInstance(); + } + aiPlatformProvisionedThroughputFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformProvisionedThroughputFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 7; + onChanged(); + return aiPlatformProvisionedThroughputFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder> + aiPlatformDeployedModelUsageFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the aiPlatformDeployedModelUsageFee field is set. + */ + @java.lang.Override + public boolean hasAiPlatformDeployedModelUsageFee() { + return skuTypeCase_ == 8; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The aiPlatformDeployedModelUsageFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + getAiPlatformDeployedModelUsageFee() { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 8) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance(); + } else { + if (skuTypeCase_ == 8) { + return aiPlatformDeployedModelUsageFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformDeployedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + value) { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + aiPlatformDeployedModelUsageFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 8; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAiPlatformDeployedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .Builder + builderForValue) { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + aiPlatformDeployedModelUsageFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 8; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAiPlatformDeployedModelUsageFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + value) { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 8 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 8) { + aiPlatformDeployedModelUsageFeeBuilder_.mergeFrom(value); + } else { + aiPlatformDeployedModelUsageFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 8; + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAiPlatformDeployedModelUsageFee() { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + if (skuTypeCase_ == 8) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 8) { + skuTypeCase_ = 0; + skuType_ = null; + } + aiPlatformDeployedModelUsageFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .Builder + getAiPlatformDeployedModelUsageFeeBuilder() { + return internalGetAiPlatformDeployedModelUsageFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder + getAiPlatformDeployedModelUsageFeeOrBuilder() { + if ((skuTypeCase_ == 8) && (aiPlatformDeployedModelUsageFeeBuilder_ != null)) { + return aiPlatformDeployedModelUsageFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 8) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU prices usage of an AI model deployed on AI
+       * Platform.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformDeployedModelUsageFee + .Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder> + internalGetAiPlatformDeployedModelUsageFeeFieldBuilder() { + if (aiPlatformDeployedModelUsageFeeBuilder_ == null) { + if (!(skuTypeCase_ == 8)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.getDefaultInstance(); + } + aiPlatformDeployedModelUsageFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .AiPlatformDeployedModelUsageFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 8; + onChanged(); + return aiPlatformDeployedModelUsageFeeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder> + flatSubscriptionFeeBuilder_; + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatSubscriptionFee field is set. + */ + @java.lang.Override + public boolean hasFlatSubscriptionFee() { + return skuTypeCase_ == 9; + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatSubscriptionFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + getFlatSubscriptionFee() { + if (flatSubscriptionFeeBuilder_ == null) { + if (skuTypeCase_ == 9) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } else { + if (skuTypeCase_ == 9) { + return flatSubscriptionFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setFlatSubscriptionFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee value) { + if (flatSubscriptionFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skuType_ = value; + onChanged(); + } else { + flatSubscriptionFeeBuilder_.setMessage(value); + } + skuTypeCase_ = 9; + return this; + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setFlatSubscriptionFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder + builderForValue) { + if (flatSubscriptionFeeBuilder_ == null) { + skuType_ = builderForValue.build(); + onChanged(); + } else { + flatSubscriptionFeeBuilder_.setMessage(builderForValue.build()); + } + skuTypeCase_ = 9; + return this; + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeFlatSubscriptionFee( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee value) { + if (flatSubscriptionFeeBuilder_ == null) { + if (skuTypeCase_ == 9 + && skuType_ + != com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance()) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + skuType_) + .mergeFrom(value) + .buildPartial(); + } else { + skuType_ = value; + } + onChanged(); + } else { + if (skuTypeCase_ == 9) { + flatSubscriptionFeeBuilder_.mergeFrom(value); + } else { + flatSubscriptionFeeBuilder_.setMessage(value); + } + } + skuTypeCase_ = 9; + return this; + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearFlatSubscriptionFee() { + if (flatSubscriptionFeeBuilder_ == null) { + if (skuTypeCase_ == 9) { + skuTypeCase_ = 0; + skuType_ = null; + onChanged(); + } + } else { + if (skuTypeCase_ == 9) { + skuTypeCase_ = 0; + skuType_ = null; + } + flatSubscriptionFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder + getFlatSubscriptionFeeBuilder() { + return internalGetFlatSubscriptionFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder + getFlatSubscriptionFeeOrBuilder() { + if ((skuTypeCase_ == 9) && (flatSubscriptionFeeBuilder_ != null)) { + return flatSubscriptionFeeBuilder_.getMessageOrBuilder(); + } else { + if (skuTypeCase_ == 9) { + return (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + skuType_; + } + return com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. The SKU applies a flat subscription fee.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee flat_subscription_fee = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFeeOrBuilder> + internalGetFlatSubscriptionFeeFieldBuilder() { + if (flatSubscriptionFeeBuilder_ == null) { + if (!(skuTypeCase_ == 9)) { + skuType_ = + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee + .getDefaultInstance(); + } + flatSubscriptionFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice + .FlatSubscriptionFeeOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.FlatSubscriptionFee) + skuType_, + getParentForChildren(), + isClean()); + skuType_ = null; + } + skuTypeCase_ = 9; + onChanged(); + return flatSubscriptionFeeBuilder_; + } + + private com.google.protobuf.Timestamp effectiveTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + effectiveTimeBuilder_; + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + public boolean hasEffectiveTime() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + public com.google.protobuf.Timestamp getEffectiveTime() { + if (effectiveTimeBuilder_ == null) { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } else { + return effectiveTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveTime(com.google.protobuf.Timestamp value) { + if (effectiveTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + effectiveTime_ = value; + } else { + effectiveTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (effectiveTimeBuilder_ == null) { + effectiveTime_ = builderForValue.build(); + } else { + effectiveTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEffectiveTime(com.google.protobuf.Timestamp value) { + if (effectiveTimeBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && effectiveTime_ != null + && effectiveTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEffectiveTimeBuilder().mergeFrom(value); + } else { + effectiveTime_ = value; + } + } else { + effectiveTimeBuilder_.mergeFrom(value); + } + if (effectiveTime_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEffectiveTime() { + bitField0_ = (bitField0_ & ~0x00000100); + effectiveTime_ = null; + if (effectiveTimeBuilder_ != null) { + effectiveTimeBuilder_.dispose(); + effectiveTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEffectiveTimeBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetEffectiveTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder() { + if (effectiveTimeBuilder_ != null) { + return effectiveTimeBuilder_.getMessageOrBuilder(); + } else { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + } + + /** + * + * + *
+       * Output only. The start of the time interval during which this price is
+       * effective.
+       * 
+ * + * + * .google.protobuf.Timestamp effective_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEffectiveTimeFieldBuilder() { + if (effectiveTimeBuilder_ == null) { + effectiveTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEffectiveTime(), getParentForChildren(), isClean()); + effectiveTime_ = null; + } + return effectiveTimeBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku.SkuPrice) + private static final com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SkuPrice 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.cloud.commerceproducer.v1beta.Sku.SkuPrice getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Output only. Identifier. Name of the SKU.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @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; + } + } + + /** + * + * + *
+   * Output only. Identifier. Name of the SKU.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @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 DESCRIPTION_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Output only. Description of the SKU.
+   * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + 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(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Description of the SKU.
+   * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SKU_PRICE_TIMELINE_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private java.util.List skuPriceTimeline_; + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getSkuPriceTimelineList() { + return skuPriceTimeline_; + } + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getSkuPriceTimelineOrBuilderList() { + return skuPriceTimeline_; + } + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getSkuPriceTimelineCount() { + return skuPriceTimeline_.size(); + } + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice getSkuPriceTimeline(int index) { + return skuPriceTimeline_.get(index); + } + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder + getSkuPriceTimelineOrBuilder(int index) { + return skuPriceTimeline_.get(index); + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, description_); + } + for (int i = 0; i < skuPriceTimeline_.size(); i++) { + output.writeMessage(3, skuPriceTimeline_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, description_); + } + for (int i = 0; i < skuPriceTimeline_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, skuPriceTimeline_.get(i)); + } + 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.cloud.commerceproducer.v1beta.Sku)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.Sku other = + (com.google.cloud.commerceproducer.v1beta.Sku) obj; + + if (!getName().equals(other.getName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getSkuPriceTimelineList().equals(other.getSkuPriceTimelineList())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (getSkuPriceTimelineCount() > 0) { + hash = (37 * hash) + SKU_PRICE_TIMELINE_FIELD_NUMBER; + hash = (53 * hash) + getSkuPriceTimelineList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku 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.cloud.commerceproducer.v1beta.Sku parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.Sku 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing the Sku resource.
+   *
+   * Encapsulates and represents a stock keeping unit (SKU), the atomic unit of
+   * pricing and billing in Google Cloud. Each customer charge is associated with
+   * and originates from exactly one SKU. While the Cloud Marketplace Sku resource
+   * shares a close relationship with the public [Sku resource in the Cloud
+   * Billing
+   * API](https://cloud.google.com/billing/docs/how-to/get-pricing-information-api),
+   * Cloud Marketplace SKUs are represented here with additional information in
+   * an alternative format tailored for use by Cloud Marketplace partners, and are
+   * not necessarily public and by extension are not generally visible in the
+   * Cloud Billing API or the [Google Cloud Public
+   * SKUs](https://cloud.google.com/skus).
+   *
+   * Note on terminology: While the name of the resource derives from the acronym
+   * 'SKU' it is named 'Sku' for consistency with other resource type names, and
+   * may be rendered variously as 'Sku', 'sku', or 'SKU' across this and other
+   * documentation.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.Sku} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.Sku) + com.google.cloud.commerceproducer.v1beta.SkuOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.Sku.class, + com.google.cloud.commerceproducer.v1beta.Sku.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.Sku.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + description_ = ""; + if (skuPriceTimelineBuilder_ == null) { + skuPriceTimeline_ = java.util.Collections.emptyList(); + } else { + skuPriceTimeline_ = null; + skuPriceTimelineBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuProto + .internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.Sku.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku build() { + com.google.cloud.commerceproducer.v1beta.Sku result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.Sku buildPartial() { + com.google.cloud.commerceproducer.v1beta.Sku result = + new com.google.cloud.commerceproducer.v1beta.Sku(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.cloud.commerceproducer.v1beta.Sku result) { + if (skuPriceTimelineBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + skuPriceTimeline_ = java.util.Collections.unmodifiableList(skuPriceTimeline_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.skuPriceTimeline_ = skuPriceTimeline_; + } else { + result.skuPriceTimeline_ = skuPriceTimelineBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.Sku result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.description_ = description_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.Sku) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.Sku) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.Sku other) { + if (other == com.google.cloud.commerceproducer.v1beta.Sku.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (skuPriceTimelineBuilder_ == null) { + if (!other.skuPriceTimeline_.isEmpty()) { + if (skuPriceTimeline_.isEmpty()) { + skuPriceTimeline_ = other.skuPriceTimeline_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.addAll(other.skuPriceTimeline_); + } + onChanged(); + } + } else { + if (!other.skuPriceTimeline_.isEmpty()) { + if (skuPriceTimelineBuilder_.isEmpty()) { + skuPriceTimelineBuilder_.dispose(); + skuPriceTimelineBuilder_ = null; + skuPriceTimeline_ = other.skuPriceTimeline_; + bitField0_ = (bitField0_ & ~0x00000004); + skuPriceTimelineBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetSkuPriceTimelineFieldBuilder() + : null; + } else { + skuPriceTimelineBuilder_.addAllMessages(other.skuPriceTimeline_); + } + } + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice m = + input.readMessage( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.parser(), + extensionRegistry); + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.add(m); + } else { + skuPriceTimelineBuilder_.addMessage(m); + } + break; + } // case 26 + 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 name_ = ""; + + /** + * + * + *
+     * Output only. Identifier. Name of the SKU.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @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; + } + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SKU.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @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; + } + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SKU.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SKU.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SKU.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. Description of the SKU.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Description of the SKU.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Description of the SKU.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Description of the SKU.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Description of the SKU.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List + skuPriceTimeline_ = java.util.Collections.emptyList(); + + private void ensureSkuPriceTimelineIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + skuPriceTimeline_ = + new java.util.ArrayList( + skuPriceTimeline_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder> + skuPriceTimelineBuilder_; + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getSkuPriceTimelineList() { + if (skuPriceTimelineBuilder_ == null) { + return java.util.Collections.unmodifiableList(skuPriceTimeline_); + } else { + return skuPriceTimelineBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getSkuPriceTimelineCount() { + if (skuPriceTimelineBuilder_ == null) { + return skuPriceTimeline_.size(); + } else { + return skuPriceTimelineBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice getSkuPriceTimeline(int index) { + if (skuPriceTimelineBuilder_ == null) { + return skuPriceTimeline_.get(index); + } else { + return skuPriceTimelineBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuPriceTimeline( + int index, com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice value) { + if (skuPriceTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.set(index, value); + onChanged(); + } else { + skuPriceTimelineBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuPriceTimeline( + int index, com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder builderForValue) { + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.set(index, builderForValue.build()); + onChanged(); + } else { + skuPriceTimelineBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkuPriceTimeline( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice value) { + if (skuPriceTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.add(value); + onChanged(); + } else { + skuPriceTimelineBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkuPriceTimeline( + int index, com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice value) { + if (skuPriceTimelineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.add(index, value); + onChanged(); + } else { + skuPriceTimelineBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkuPriceTimeline( + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder builderForValue) { + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.add(builderForValue.build()); + onChanged(); + } else { + skuPriceTimelineBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkuPriceTimeline( + int index, com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder builderForValue) { + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.add(index, builderForValue.build()); + onChanged(); + } else { + skuPriceTimelineBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllSkuPriceTimeline( + java.lang.Iterable + values) { + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skuPriceTimeline_); + onChanged(); + } else { + skuPriceTimelineBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearSkuPriceTimeline() { + if (skuPriceTimelineBuilder_ == null) { + skuPriceTimeline_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + skuPriceTimelineBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeSkuPriceTimeline(int index) { + if (skuPriceTimelineBuilder_ == null) { + ensureSkuPriceTimelineIsMutable(); + skuPriceTimeline_.remove(index); + onChanged(); + } else { + skuPriceTimelineBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder getSkuPriceTimelineBuilder( + int index) { + return internalGetSkuPriceTimelineFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder + getSkuPriceTimelineOrBuilder(int index) { + if (skuPriceTimelineBuilder_ == null) { + return skuPriceTimeline_.get(index); + } else { + return skuPriceTimelineBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getSkuPriceTimelineOrBuilderList() { + if (skuPriceTimelineBuilder_ != null) { + return skuPriceTimelineBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(skuPriceTimeline_); + } + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder + addSkuPriceTimelineBuilder() { + return internalGetSkuPriceTimelineFieldBuilder() + .addBuilder(com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder addSkuPriceTimelineBuilder( + int index) { + return internalGetSkuPriceTimelineFieldBuilder() + .addBuilder( + index, com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Timeline of the SKU prices, in chronological order by
+     * `effective_time`.
+     *
+     * Each entry is active in the time range starting inclusively from the
+     * entry's `effective_time` and ending exclusively at the next entry's
+     * `effective_time`, if one exists, or else remaining active indefinitely if
+     * it is the final entry. The currently active entry is the entry with the
+     * latest `effective_time` that is in the past. Because of scheduled future
+     * price changes the currently active entry may not be the last entry in the
+     * timeline. A SKU does not necessarily have a currently active entry, as the
+     * SKU's first timeline entry may have an `effective_time` in the future.
+     * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getSkuPriceTimelineBuilderList() { + return internalGetSkuPriceTimelineFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder> + internalGetSkuPriceTimelineFieldBuilder() { + if (skuPriceTimelineBuilder_ == null) { + skuPriceTimelineBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.Builder, + com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder>( + skuPriceTimeline_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + skuPriceTimeline_ = null; + } + return skuPriceTimelineBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.Sku) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.Sku) + private static final com.google.cloud.commerceproducer.v1beta.Sku DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.Sku(); + } + + public static com.google.cloud.commerceproducer.v1beta.Sku getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Sku 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.cloud.commerceproducer.v1beta.Sku getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroup.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroup.java new file mode 100644 index 000000000000..dc196f0f821f --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroup.java @@ -0,0 +1,1346 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku_group.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing SkuGroup resource
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.SkuGroup} + */ +@com.google.protobuf.Generated +public final class SkuGroup extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.SkuGroup) + SkuGroupOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuGroup"); + } + + // Use SkuGroup.newBuilder() to construct. + private SkuGroup(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SkuGroup() { + name_ = ""; + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + cloudBillingSkus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuGroupProto + .internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuGroupProto + .internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.SkuGroup.class, + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Output only. Identifier. Name of the SkuGroup.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @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; + } + } + + /** + * + * + *
+   * Output only. Identifier. Name of the SkuGroup.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @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 SKUS_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList skus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + public com.google.protobuf.ProtocolStringList getSkusList() { + return skus_; + } + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + public int getSkusCount() { + return skus_.size(); + } + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + public java.lang.String getSkus(int index) { + return skus_.get(index); + } + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + public com.google.protobuf.ByteString getSkusBytes(int index) { + return skus_.getByteString(index); + } + + public static final int CLOUD_BILLING_SKUS_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList cloudBillingSkus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return A list containing the cloudBillingSkus. + */ + public com.google.protobuf.ProtocolStringList getCloudBillingSkusList() { + return cloudBillingSkus_; + } + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The count of cloudBillingSkus. + */ + public int getCloudBillingSkusCount() { + return cloudBillingSkus_.size(); + } + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the element to return. + * @return The cloudBillingSkus at the given index. + */ + public java.lang.String getCloudBillingSkus(int index) { + return cloudBillingSkus_.get(index); + } + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the value to return. + * @return The bytes of the cloudBillingSkus at the given index. + */ + public com.google.protobuf.ByteString getCloudBillingSkusBytes(int index) { + return cloudBillingSkus_.getByteString(index); + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + for (int i = 0; i < skus_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, skus_.getRaw(i)); + } + for (int i = 0; i < cloudBillingSkus_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, cloudBillingSkus_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + { + int dataSize = 0; + for (int i = 0; i < skus_.size(); i++) { + dataSize += computeStringSizeNoTag(skus_.getRaw(i)); + } + size += dataSize; + size += 1 * getSkusList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < cloudBillingSkus_.size(); i++) { + dataSize += computeStringSizeNoTag(cloudBillingSkus_.getRaw(i)); + } + size += dataSize; + size += 1 * getCloudBillingSkusList().size(); + } + 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.cloud.commerceproducer.v1beta.SkuGroup)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.SkuGroup other = + (com.google.cloud.commerceproducer.v1beta.SkuGroup) obj; + + if (!getName().equals(other.getName())) return false; + if (!getSkusList().equals(other.getSkusList())) return false; + if (!getCloudBillingSkusList().equals(other.getCloudBillingSkusList())) 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) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (getSkusCount() > 0) { + hash = (37 * hash) + SKUS_FIELD_NUMBER; + hash = (53 * hash) + getSkusList().hashCode(); + } + if (getCloudBillingSkusCount() > 0) { + hash = (37 * hash) + CLOUD_BILLING_SKUS_FIELD_NUMBER; + hash = (53 * hash) + getCloudBillingSkusList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup 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.cloud.commerceproducer.v1beta.SkuGroup parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.SkuGroup 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing SkuGroup resource
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.SkuGroup} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.SkuGroup) + com.google.cloud.commerceproducer.v1beta.SkuGroupOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.SkuGroupProto + .internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.SkuGroupProto + .internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.SkuGroup.class, + com.google.cloud.commerceproducer.v1beta.SkuGroup.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.SkuGroup.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + cloudBillingSkus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.SkuGroupProto + .internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuGroup getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.SkuGroup.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuGroup build() { + com.google.cloud.commerceproducer.v1beta.SkuGroup result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.SkuGroup buildPartial() { + com.google.cloud.commerceproducer.v1beta.SkuGroup result = + new com.google.cloud.commerceproducer.v1beta.SkuGroup(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.SkuGroup result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + skus_.makeImmutable(); + result.skus_ = skus_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + cloudBillingSkus_.makeImmutable(); + result.cloudBillingSkus_ = cloudBillingSkus_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.SkuGroup) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.SkuGroup) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.SkuGroup other) { + if (other == com.google.cloud.commerceproducer.v1beta.SkuGroup.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.skus_.isEmpty()) { + if (skus_.isEmpty()) { + skus_ = other.skus_; + bitField0_ |= 0x00000002; + } else { + ensureSkusIsMutable(); + skus_.addAll(other.skus_); + } + onChanged(); + } + if (!other.cloudBillingSkus_.isEmpty()) { + if (cloudBillingSkus_.isEmpty()) { + cloudBillingSkus_ = other.cloudBillingSkus_; + bitField0_ |= 0x00000004; + } else { + ensureCloudBillingSkusIsMutable(); + cloudBillingSkus_.addAll(other.cloudBillingSkus_); + } + 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: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureSkusIsMutable(); + skus_.add(s); + break; + } // case 18 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureCloudBillingSkusIsMutable(); + cloudBillingSkus_.add(s); + break; + } // case 26 + 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 name_ = ""; + + /** + * + * + *
+     * Output only. Identifier. Name of the SkuGroup.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @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; + } + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SkuGroup.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @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; + } + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SkuGroup.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SkuGroup.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier. Name of the SkuGroup.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList skus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureSkusIsMutable() { + if (!skus_.isModifiable()) { + skus_ = new com.google.protobuf.LazyStringArrayList(skus_); + } + bitField0_ |= 0x00000002; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + public com.google.protobuf.ProtocolStringList getSkusList() { + skus_.makeImmutable(); + return skus_; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + public int getSkusCount() { + return skus_.size(); + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + public java.lang.String getSkus(int index) { + return skus_.get(index); + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + public com.google.protobuf.ByteString getSkusBytes(int index) { + return skus_.getByteString(index); + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index to set the value at. + * @param value The skus to set. + * @return This builder for chaining. + */ + public Builder setSkus(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The skus to add. + * @return This builder for chaining. + */ + public Builder addSkus(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param values The skus to add. + * @return This builder for chaining. + */ + public Builder addAllSkus(java.lang.Iterable values) { + ensureSkusIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skus_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearSkus() { + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Partner SKUs included in the SkuGroup.
+     * Format:
+     * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+     * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes of the skus to add. + * @return This builder for chaining. + */ + public Builder addSkusBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureSkusIsMutable(); + skus_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList cloudBillingSkus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureCloudBillingSkusIsMutable() { + if (!cloudBillingSkus_.isModifiable()) { + cloudBillingSkus_ = new com.google.protobuf.LazyStringArrayList(cloudBillingSkus_); + } + bitField0_ |= 0x00000004; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return A list containing the cloudBillingSkus. + */ + public com.google.protobuf.ProtocolStringList getCloudBillingSkusList() { + cloudBillingSkus_.makeImmutable(); + return cloudBillingSkus_; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The count of cloudBillingSkus. + */ + public int getCloudBillingSkusCount() { + return cloudBillingSkus_.size(); + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the element to return. + * @return The cloudBillingSkus at the given index. + */ + public java.lang.String getCloudBillingSkus(int index) { + return cloudBillingSkus_.get(index); + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the value to return. + * @return The bytes of the cloudBillingSkus at the given index. + */ + public com.google.protobuf.ByteString getCloudBillingSkusBytes(int index) { + return cloudBillingSkus_.getByteString(index); + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index to set the value at. + * @param value The cloudBillingSkus to set. + * @return This builder for chaining. + */ + public Builder setCloudBillingSkus(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureCloudBillingSkusIsMutable(); + cloudBillingSkus_.set(index, value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The cloudBillingSkus to add. + * @return This builder for chaining. + */ + public Builder addCloudBillingSkus(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureCloudBillingSkusIsMutable(); + cloudBillingSkus_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param values The cloudBillingSkus to add. + * @return This builder for chaining. + */ + public Builder addAllCloudBillingSkus(java.lang.Iterable values) { + ensureCloudBillingSkusIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, cloudBillingSkus_); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearCloudBillingSkus() { + cloudBillingSkus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + ; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Google SKUs included in the SkuGroup.
+     *
+     * Used for partner products sold by Google, such as Premium Operating System
+     * Images sold for use in Compute Engine. This is not common.
+     * SKUs of this type are not present on this API and can instead be found on
+     * the Cloud Billing API or at https://cloud.google.com/skus.
+     *
+     * Format: `services/{service}/skus/{sku}`
+     * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The bytes of the cloudBillingSkus to add. + * @return This builder for chaining. + */ + public Builder addCloudBillingSkusBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureCloudBillingSkusIsMutable(); + cloudBillingSkus_.add(value); + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.SkuGroup) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.SkuGroup) + private static final com.google.cloud.commerceproducer.v1beta.SkuGroup DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.SkuGroup(); + } + + public static com.google.cloud.commerceproducer.v1beta.SkuGroup getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SkuGroup 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.cloud.commerceproducer.v1beta.SkuGroup getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupName.java new file mode 100644 index 000000000000..90a888e9bc7c --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupName.java @@ -0,0 +1,226 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class SkuGroupName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SKU_GROUP = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/skuGroups/{sku_group}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String skuGroup; + + @Deprecated + protected SkuGroupName() { + project = null; + location = null; + skuGroup = null; + } + + private SkuGroupName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + skuGroup = Preconditions.checkNotNull(builder.getSkuGroup()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getSkuGroup() { + return skuGroup; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static SkuGroupName of(String project, String location, String skuGroup) { + return newBuilder().setProject(project).setLocation(location).setSkuGroup(skuGroup).build(); + } + + public static String format(String project, String location, String skuGroup) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setSkuGroup(skuGroup) + .build() + .toString(); + } + + public static @Nullable SkuGroupName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_SKU_GROUP.validatedMatch( + formattedString, "SkuGroupName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("sku_group")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable SkuGroupName> values) { + List list = new ArrayList<>(values.size()); + for (SkuGroupName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SKU_GROUP.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (skuGroup != null) { + fieldMapBuilder.put("sku_group", skuGroup); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_SKU_GROUP.instantiate( + "project", project, "location", location, "sku_group", skuGroup); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + SkuGroupName that = ((SkuGroupName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.skuGroup, that.skuGroup); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(skuGroup); + return h; + } + + /** Builder for projects/{project}/locations/{location}/skuGroups/{sku_group}. */ + public static class Builder { + private String project; + private String location; + private String skuGroup; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getSkuGroup() { + return skuGroup; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setSkuGroup(String skuGroup) { + this.skuGroup = skuGroup; + return this; + } + + private Builder(SkuGroupName skuGroupName) { + this.project = skuGroupName.project; + this.location = skuGroupName.location; + this.skuGroup = skuGroupName.skuGroup; + } + + public SkuGroupName build() { + return new SkuGroupName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupOrBuilder.java new file mode 100644 index 000000000000..f249f7ef45cc --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupOrBuilder.java @@ -0,0 +1,214 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku_group.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface SkuGroupOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.SkuGroup) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. Identifier. Name of the SkuGroup.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Output only. Identifier. Name of the SkuGroup.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IDENTIFIER]; + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + java.util.List getSkusList(); + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + int getSkusCount(); + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + java.lang.String getSkus(int index); + + /** + * + * + *
+   * Output only. Partner SKUs included in the SkuGroup.
+   * Format:
+   * `projects/{project}/locations/{location}/services/{service}/skus/{sku}`
+   * 
+ * + * + * repeated string skus = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + com.google.protobuf.ByteString getSkusBytes(int index); + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return A list containing the cloudBillingSkus. + */ + java.util.List getCloudBillingSkusList(); + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The count of cloudBillingSkus. + */ + int getCloudBillingSkusCount(); + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the element to return. + * @return The cloudBillingSkus at the given index. + */ + java.lang.String getCloudBillingSkus(int index); + + /** + * + * + *
+   * Output only. Google SKUs included in the SkuGroup.
+   *
+   * Used for partner products sold by Google, such as Premium Operating System
+   * Images sold for use in Compute Engine. This is not common.
+   * SKUs of this type are not present on this API and can instead be found on
+   * the Cloud Billing API or at https://cloud.google.com/skus.
+   *
+   * Format: `services/{service}/skus/{sku}`
+   * 
+ * + * repeated string cloud_billing_skus = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param index The index of the value to return. + * @return The bytes of the cloudBillingSkus at the given index. + */ + com.google.protobuf.ByteString getCloudBillingSkusBytes(int index); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupProto.java new file mode 100644 index 000000000000..3625f52b4be4 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuGroupProto.java @@ -0,0 +1,100 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku_group.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class SkuGroupProto extends com.google.protobuf.GeneratedFile { + private SkuGroupProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuGroupProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "4google/cloud/commerceproducer/v1beta/sku_group.proto\022$google.cloud.commercepro" + + "ducer.v1beta\032\037google/api/field_behavior.proto\032\031google/api/resource.proto\"\200\002\n" + + "\010SkuGroup\022\024\n" + + "\004name\030\001 \001(\tB\006\340A\003\340A\010\0229\n" + + "\004skus\030\002 \003(\tB+\340A\003\372A%\n" + + "#commerceproducer.googleapis.com/Sku\022\037\n" + + "\022cloud_billing_skus\030\003 \003(\tB\003\340A\003:\201\001\352A~\n" + + "(commerceproducer.googleapis.com/S" + + "kuGroup\022=projects/{project}/locations/{location}/skuGroups/{sku_group}*" + + "\tskuGroups2\010skuGroupB\270\001\n" + + "(com.google.cloud.commerceproducer.v1betaB\r" + + "SkuGroupProtoP\001ZTcloud.google.com/go/commerceproducer/apiv1bet" + + "a/commerceproducerpb;commerceproducerpb\252" + + "\002$Google.Cloud.CommerceProducer.V1Betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + }); + internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_SkuGroup_descriptor, + new java.lang.String[] { + "Name", "Skus", "CloudBillingSkus", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuName.java new file mode 100644 index 000000000000..8319c029e76d --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuName.java @@ -0,0 +1,260 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class SkuName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SERVICE_SKU = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/services/{service}/skus/{sku}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String service; + private final String sku; + + @Deprecated + protected SkuName() { + project = null; + location = null; + service = null; + sku = null; + } + + private SkuName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + service = Preconditions.checkNotNull(builder.getService()); + sku = Preconditions.checkNotNull(builder.getSku()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public String getSku() { + return sku; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static SkuName of(String project, String location, String service, String sku) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .setSku(sku) + .build(); + } + + public static String format(String project, String location, String service, String sku) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .setSku(sku) + .build() + .toString(); + } + + public static @Nullable SkuName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_SERVICE_SKU.validatedMatch( + formattedString, "SkuName.parse: formattedString not in valid format"); + return of( + matchMap.get("project"), + matchMap.get("location"), + matchMap.get("service"), + matchMap.get("sku")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable SkuName> values) { + List list = new ArrayList<>(values.size()); + for (SkuName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SERVICE_SKU.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (service != null) { + fieldMapBuilder.put("service", service); + } + if (sku != null) { + fieldMapBuilder.put("sku", sku); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_SERVICE_SKU.instantiate( + "project", project, "location", location, "service", service, "sku", sku); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + SkuName that = ((SkuName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.service, that.service) + && Objects.equals(this.sku, that.sku); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(service); + h *= 1000003; + h ^= Objects.hashCode(sku); + return h; + } + + /** Builder for projects/{project}/locations/{location}/services/{service}/skus/{sku}. */ + public static class Builder { + private String project; + private String location; + private String service; + private String sku; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public String getSku() { + return sku; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setService(String service) { + this.service = service; + return this; + } + + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + private Builder(SkuName skuName) { + this.project = skuName.project; + this.location = skuName.location; + this.service = skuName.service; + this.sku = skuName.sku; + } + + public SkuName build() { + return new SkuName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuOrBuilder.java new file mode 100644 index 000000000000..b438e662c1de --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuOrBuilder.java @@ -0,0 +1,201 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface SkuOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.Sku) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. Identifier. Name of the SKU.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Output only. Identifier. Name of the SKU.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. Description of the SKU.
+   * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Output only. Description of the SKU.
+   * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getSkuPriceTimelineList(); + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPrice getSkuPriceTimeline(int index); + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getSkuPriceTimelineCount(); + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getSkuPriceTimelineOrBuilderList(); + + /** + * + * + *
+   * Output only. Timeline of the SKU prices, in chronological order by
+   * `effective_time`.
+   *
+   * Each entry is active in the time range starting inclusively from the
+   * entry's `effective_time` and ending exclusively at the next entry's
+   * `effective_time`, if one exists, or else remaining active indefinitely if
+   * it is the final entry. The currently active entry is the entry with the
+   * latest `effective_time` that is in the past. Because of scheduled future
+   * price changes the currently active entry may not be the last entry in the
+   * timeline. A SKU does not necessarily have a currently active entry, as the
+   * SKU's first timeline entry may have an `effective_time` in the future.
+   * 
+ * + * + * repeated .google.cloud.commerceproducer.v1beta.Sku.SkuPrice sku_price_timeline = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.Sku.SkuPriceOrBuilder getSkuPriceTimelineOrBuilder( + int index); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuProto.java new file mode 100644 index 000000000000..a746a19c50b8 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/SkuProto.java @@ -0,0 +1,593 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/sku.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class SkuProto extends com.google.protobuf.GeneratedFile { + private SkuProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + ".google/cloud/commerceproducer/v1beta/sku.proto\022$google.cloud.commerceproducer." + + "v1beta\032\037google/api/field_behavior.proto\032" + + "\031google/api/resource.proto\032\036google/proto" + + "buf/duration.proto\032\037google/protobuf/time" + + "stamp.proto\032\031google/type/decimal.proto\032\027google/type/money.proto\"\3634\n" + + "\003Sku\022\024\n" + + "\004name\030\001 \001(\tB\006\340A\010\340A\003\022\030\n" + + "\013description\030\002 \001(\tB\003\340A\003\022S\n" + + "\022sku_price_timeline\030\003 \003(\01322.google.clo" + + "ud.commerceproducer.v1beta.Sku.SkuPriceB\003\340A\003\032\3522\n" + + "\010SkuPrice\022\\\n" + + "\010inactive\030\002 \001(\0132C.go" + + "ogle.cloud.commerceproducer.v1beta.Sku.SkuPrice.InactiveSkuPriceB\003\340A\003H\000\022\200\001\n" + + " managed_service_metric_usage_fee\030\003 \001(\0132O.goo" + + "gle.cloud.commerceproducer.v1beta.Sku.Sk" + + "uPrice.ManagedServiceMetricUsageFeeB\003\340A\003H\000\022u\n" + + "\025gce_license_usage_fee\030\004 \001(\0132O.goog" + + "le.cloud.commerceproducer.v1beta.Sku.Sku" + + "Price.ComputeEngineLicenseUsageFeeB\003\340A\003H\000\022p\n" + + "\021gke_pod_usage_fee\030\005 \001(\0132N.google.cl" + + "oud.commerceproducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFeeB\003\340A\003H\000\022\205\001\n" + + "#ai_platform_managed_model_usage_fee\030\006 \001(" + + "\0132Q.google.cloud.commerceproducer.v1beta" + + ".Sku.SkuPrice.AiPlatformManagedModelUsageFeeB\003\340A\003H\000\022\214\001\n" + + "&ai_platform_provisioned_throughput_fee\030\007 \001(\0132U.google.cloud.comm" + + "erceproducer.v1beta.Sku.SkuPrice.AiPlatformProvisionedThroughputFeeB\003\340A\003H\000\022\207\001\n" + + "$ai_platform_deployed_model_usage_fee\030\010 \001(" + + "\0132R.google.cloud.commerceproducer.v1beta" + + ".Sku.SkuPrice.AiPlatformDeployedModelUsageFeeB\003\340A\003H\000\022l\n" + + "\025flat_subscription_fee\030\t \001(\0132F.google.cloud.commerceproducer.v1be" + + "ta.Sku.SkuPrice.FlatSubscriptionFeeB\003\340A\003H\000\0227\n" + + "\016effective_time\030\001" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032\022\n" + + "\020InactiveSkuPrice\032\255\001\n" + + "\034ManagedServiceMetricUsageFee\022[\n" + + "\014tiered_price\030\002 \001(\0132>.google.cloud.commercepr" + + "oducer.v1beta.Sku.SkuPrice.TieredPriceB\003\340A\003H\000\022\035\n" + + "\020canonical_metric\030\001 \001(\tB\003\340A\003B\021\n" + + "\017price_structure\032\331\006\n" + + "\034ComputeEngineLicenseUsageFee\022,\n" + + "\016price_per_unit\030\006 \001(\0132\022.google.type.MoneyH\000\022\031\n" + + "\014license_code\030\001 \001(\tB\003\340A\003\022~\n" + + "\020machine_resource\030\002 \001(\0162_.google.clo" + + "ud.commerceproducer.v1beta.Sku.SkuPrice." + + "ComputeEngineLicenseUsageFee.MachineResourceB\003\340A\003\022\211\001\n" + + "\026machine_resource_range\030\003 \001(\0132d.google.cloud.commerceproducer.v1bet" + + "a.Sku.SkuPrice.ComputeEngineLicenseUsageFee.MachineResourceRangeB\003\340A\003\022\200\001\n" + + "\021usage_calculation\030\004 \001(\0162`.google.cloud.commerc" + + "eproducer.v1beta.Sku.SkuPrice.ComputeEng" + + "ineLicenseUsageFee.UsageCalculationB\003\340A\003\022\021\n" + + "\004unit\030\005 \001(\tB\003\340A\003\032[\n" + + "\024MachineResourceRange\022\030\n" + + "\013start_value\030\001 \001(\003B\003\340A\003\022\033\n" + + "\tend_value\030\002 \001(\003B\003\340A\003H\000\210\001\001B\014\n\n" + + "_end_value\"d\n" + + "\017MachineResource\022 \n" + + "\034MACHINE_RESOURCE_UNSPECIFIED\020\000\022\016\n\n" + + "VCPU_COUNT\020\001\022\020\n" + + "\014MEMORY_BYTES\020\002\022\r\n" + + "\tGPU_COUNT\020\003\"x\n" + + "\020UsageCalculation\022!\n" + + "\035USAGE_CALCULATION_UNSPECIFIED\020\000\022\024\n" + + "\020INSTANCE_RUNTIME\020\001\022+\n" + + "\'LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME\020\002B\021\n" + + "\017price_structure\032\242\006\n" + + "\033KubernetesEnginePodUsageFee\022,\n" + + "\016price_per_unit\030\006 \001(\0132\022.google.type.MoneyH\000\022u\n" + + "\014pod_resource\030\002 \001(\0162Z.google.cloud.commercep" + + "roducer.v1beta.Sku.SkuPrice.KubernetesEnginePodUsageFee.PodResourceB\003\340A\003\022\200\001\n" + + "\022pod_resource_range\030\003 \001(\0132_.google.cloud.com" + + "merceproducer.v1beta.Sku.SkuPrice.Kubern" + + "etesEnginePodUsageFee.PodResourceRangeB\003\340A\003\022\177\n" + + "\021usage_calculation\030\004 \001(\0162_.google." + + "cloud.commerceproducer.v1beta.Sku.SkuPri" + + "ce.KubernetesEnginePodUsageFee.UsageCalculationB\003\340A\003\022\021\n" + + "\004unit\030\005 \001(\tB\003\340A\003\032W\n" + + "\020PodResourceRange\022\030\n" + + "\013start_value\030\001 \001(\003B\003\340A\003\022\033\n" + + "\tend_value\030\002 \001(\003B\003\340A\003H\000\210\001\001B\014\n\n" + + "_end_value\"k\n" + + "\013PodResource\022\034\n" + + "\030POD_RESOURCE_UNSPECIFIED\020\000\022\016\n\n" + + "VCPU_COUNT\020\001\022\020\n" + + "\014MEMORY_BYTES\020\002\022\r\n" + + "\tGPU_COUNT\020\003\022\r\n" + + "\tTPU_COUNT\020\004\"n\n" + + "\020UsageCalculation\022!\n" + + "\035USAGE_CALCULATION_UNSPECIFIED\020\000\022\017\n" + + "\013POD_RUNTIME\020\001\022&\n" + + "\"LINEAR_RESOURCE_SCALED_POD_RUNTIME\020\002B\021\n" + + "\017price_structure\032\373\021\n" + + "\036AiPlatformManagedModelUsageFee\022[\n" + + "\014tiered_price\030\007 \001(\0132>.google.cloud.commerc" + + "eproducer.v1beta.Sku.SkuPrice.TieredPriceB\003\340A\003H\000\022\216\001\n" + + "\014usage_metric\030\001 \001(\0132s.google.cloud.commerceproducer.v1beta.Sku.SkuPr" + + "ice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMetricB\003\340A\003\022p\n" + + "\010location\030\003 \001(\0132Y.google.cloud.commerceprodu" + + "cer.v1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocationB\003\340A\003\022~\n" + + "\017prediction_mode\030\004 \001(\0162`.google.cloud.commerceprod" + + "ucer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.PredictionModeB\003\340A\003\022\243\001\n" + + "#combined_request_input_tokens_range\030\005 \001(" + + "\0132q.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsag" + + "eFee.CombinedRequestInputTokensRangeB\003\340A\003\022\233\001\n" + + "\036provisioned_throughput_overage\030\006 \001" + + "(\0132n.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsa" + + "geFee.ProvisionedThroughputOverageB\003\340A\003\032\367\010\n" + + "!AiPlatformManagedModelUsageMetric\022\252\001\n" + + "\023input_tokens_metric\030\001 \001(\0132\205\001.google.cl" + + "oud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatfo" + + "rmManagedModelUsageMetric.InputTokensMetricB\003\340A\003H\000\022\276\001\n" + + "\036cache_read_input_tokens_metric\030\002" + + " \001(\0132\216\001.google.cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManag" + + "edModelUsageFee.AiPlatformManagedModelUs" + + "ageMetric.CacheReadInputTokensMetricB\003\340A\003H\000\022\300\001\n" + + "\037cache_write_input_tokens_metric\030\003" + + " \001(\0132\217\001.google.cloud.commerceproducer.v" + + "1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsageMet" + + "ric.CacheWriteInputTokensMetricB\003\340A\003H\000\022\254\001\n" + + "\024output_tokens_metric\030\004 \001(\0132\206\001.google." + + "cloud.commerceproducer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlat" + + "formManagedModelUsageMetric.OutputTokensMetricB\003\340A\003H\000\022\267\001\n" + + "\032web_search_requests_metric\030\005 \001(\0132\213\001.google.cloud.commerceprodu" + + "cer.v1beta.Sku.SkuPrice.AiPlatformManagedModelUsageFee.AiPlatformManagedModelUsa" + + "geMetric.WebSearchRequestsMetricB\003\340A\003H\000\032\023\n" + + "\021InputTokensMetric\032\034\n" + + "\032CacheReadInputTokensMetric\032J\n" + + "\033CacheWriteInputTokensMetric\022+\n" + + "\003ttl\030\001 \001(\0132\031.google.protobuf.DurationB\003\340A\003\032\024\n" + + "\022OutputTokensMetric\032\031\n" + + "\027WebSearchRequestsMetricB\010\n" + + "\006metric\032f\n" + + "\037CombinedRequestInputTokensRange\022\030\n" + + "\013start_value\030\001 \001(\003B\003\340A\003\022\033\n" + + "\tend_value\030\002 \001(\003B\003\340A\003H\000\210\001\001B\014\n\n" + + "_end_value\032`\n" + + "\034ProvisionedThroughputOverage\022@\n" + + "\007service\030\001 \001(" + + "\tB/\340A\003\372A)\022\'commerceproducer.googleapis.com/Service\"^\n" + + "\016PredictionMode\022\037\n" + + "\033PREDICTION_MODE_UNSPECIFIED\020\000\022\025\n" + + "\021ONLINE_PREDICTION\020\001\022\024\n" + + "\020BATCH_PREDICTION\020\002B\021\n" + + "\017price_structure\032\233\002\n" + + "\"AiPlatformProvisionedThroughputFee\022#\n" + + "\024term_duration_months\030\002 \001(\005B\003\340A\003H\000\0220\n" + + "\022gsu_price_per_unit\030\004 \001(\0132\022.google.type.MoneyH\001\022p\n" + + "\010location\030\001 \001(\0132Y.google.cloud.commerceproducer.v" + + "1beta.Sku.SkuPrice.AiPlatformManagedModelEndpointLocationB\003\340A\003\022\021\n" + + "\004unit\030\003 \001(\tB\003\340A\003B\006\n" + + "\004termB\021\n" + + "\017price_structure\032\234\003\n" + + "\037AiPlatformDeployedModelUsageFee\022\037\n" + + "\020accelerator_type\030\002 \001(\tB\003\340A\003H\000\0221\n" + + "\016price_per_unit\030\005" + + " \001(\0132\022.google.type.MoneyB\003\340A\003H\001\022\021\n" + + "\004unit\030\003 \001(\tB\003\340A\003\022\203\001\n" + + "\021usage_calculation\030\004 \001(\0162c.google.cloud.commerceproducer.v1beta.Sku.S" + + "kuPrice.AiPlatformDeployedModelUsageFee.UsageCalculationB\003\340A\003\"d\n" + + "\020UsageCalculation\022!\n" + + "\035USAGE_CALCULATION_UNSPECIFIED\020\000\022-\n" + + ")LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME\020\002B\023\n" + + "\021hardware_resourceB\021\n" + + "\017price_structure\032n\n" + + "\023FlatSubscriptionFee\0221\n" + + "\016price_per_unit\030\003" + + " \001(\0132\022.google.type.MoneyB\003\340A\003H\000\022\021\n" + + "\004unit\030\002 \001(\tB\003\340A\003B\021\n" + + "\017price_structure\032\276\002\n" + + "\013TieredPrice\022\021\n" + + "\004unit\030\001 \001(\tB\003\340A\003\022\035\n" + + "\020unit_description\030\002 \001(\tB\003\340A\003\0223\n" + + "\020price_unit_count\030\003 \001(\0132\024.google.type.DecimalB\003\340A\003\022b\n" + + "\013price_tiers\030\004 \003(\0132H.google.cloud.commercep" + + "roducer.v1beta.Sku.SkuPrice.TieredPrice.PriceTierB\003\340A\003\032d\n" + + "\tPriceTier\022/\n" + + "\014start_amount\030\001 \001(\0132\024.google.type.DecimalB\003\340A\003\022&\n" + + "\005price\030\002 \001(\0132\022.google.type.MoneyB\003\340A\003\032\216\001\n" + + "&AiPlatformManagedModelEndpointLocation\022\030\n" + + "\tregion_id\030\001 \001(\tB\003\340A\003H\000\022\036\n" + + "\017global_endpoint\030\002 \001(\010B\003\340A\003H\000\022\036\n" + + "\017multi_region_id\030\003 \001(\tB\003\340A\003H\000B\n\n" + + "\010locationB\n\n" + + "\010sku_type:z\352Aw\n" + + "#commerceproducer.googleapis.com/Sku\022Eprojects/{project}/locations/{location}/ser" + + "vices/{service}/skus/{sku}*\004skus2\003skuB\263\001\n" + + "(com.google.cloud.commerceproducer.v1betaB\010SkuProtoP\001ZTcloud.google.com/go/comm" + + "erceproducer/apiv1beta/commerceproducerpb;commerceproducerpb\252\002$Google.Cloud.Comm" + + "erceProducer.V1Betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.DurationProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + com.google.type.DecimalProto.getDescriptor(), + com.google.type.MoneyProto.getDescriptor(), + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor, + new java.lang.String[] { + "Name", "Description", "SkuPriceTimeline", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_descriptor.getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor, + new java.lang.String[] { + "Inactive", + "ManagedServiceMetricUsageFee", + "GceLicenseUsageFee", + "GkePodUsageFee", + "AiPlatformManagedModelUsageFee", + "AiPlatformProvisionedThroughputFee", + "AiPlatformDeployedModelUsageFee", + "FlatSubscriptionFee", + "EffectiveTime", + "SkuType", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_InactiveSkuPrice_descriptor, + new java.lang.String[] {}); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 1); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ManagedServiceMetricUsageFee_descriptor, + new java.lang.String[] { + "TieredPrice", "CanonicalMetric", "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 2); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor, + new java.lang.String[] { + "PricePerUnit", + "LicenseCode", + "MachineResource", + "MachineResourceRange", + "UsageCalculation", + "Unit", + "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_ComputeEngineLicenseUsageFee_MachineResourceRange_descriptor, + new java.lang.String[] { + "StartValue", "EndValue", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 3); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor, + new java.lang.String[] { + "PricePerUnit", + "PodResource", + "PodResourceRange", + "UsageCalculation", + "Unit", + "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_KubernetesEnginePodUsageFee_PodResourceRange_descriptor, + new java.lang.String[] { + "StartValue", "EndValue", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 4); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor, + new java.lang.String[] { + "TieredPrice", + "UsageMetric", + "Location", + "PredictionMode", + "CombinedRequestInputTokensRange", + "ProvisionedThroughputOverage", + "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor, + new java.lang.String[] { + "InputTokensMetric", + "CacheReadInputTokensMetric", + "CacheWriteInputTokensMetric", + "OutputTokensMetric", + "WebSearchRequestsMetric", + "Metric", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_InputTokensMetric_descriptor, + new java.lang.String[] {}); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor + .getNestedType(1); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheReadInputTokensMetric_descriptor, + new java.lang.String[] {}); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor + .getNestedType(2); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_CacheWriteInputTokensMetric_descriptor, + new java.lang.String[] { + "Ttl", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor + .getNestedType(3); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_OutputTokensMetric_descriptor, + new java.lang.String[] {}); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_descriptor + .getNestedType(4); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_AiPlatformManagedModelUsageMetric_WebSearchRequestsMetric_descriptor, + new java.lang.String[] {}); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor + .getNestedType(1); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_CombinedRequestInputTokensRange_descriptor, + new java.lang.String[] { + "StartValue", "EndValue", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_descriptor + .getNestedType(2); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelUsageFee_ProvisionedThroughputOverage_descriptor, + new java.lang.String[] { + "Service", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 5); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformProvisionedThroughputFee_descriptor, + new java.lang.String[] { + "TermDurationMonths", "GsuPricePerUnit", "Location", "Unit", "Term", "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 6); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformDeployedModelUsageFee_descriptor, + new java.lang.String[] { + "AcceleratorType", + "PricePerUnit", + "Unit", + "UsageCalculation", + "HardwareResource", + "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 7); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_FlatSubscriptionFee_descriptor, + new java.lang.String[] { + "PricePerUnit", "Unit", "PriceStructure", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 8); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor, + new java.lang.String[] { + "Unit", "UnitDescription", "PriceUnitCount", "PriceTiers", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_TieredPrice_PriceTier_descriptor, + new java.lang.String[] { + "StartAmount", "Price", + }); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_descriptor.getNestedType( + 9); + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_Sku_SkuPrice_AiPlatformManagedModelEndpointLocation_descriptor, + new java.lang.String[] { + "RegionId", "GlobalEndpoint", "MultiRegionId", "Location", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.DurationProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.type.DecimalProto.getDescriptor(); + com.google.type.MoneyProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOffer.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOffer.java new file mode 100644 index 000000000000..8f52ce659eb3 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOffer.java @@ -0,0 +1,7790 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/standard_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message describing the StandardOffer resource.
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer} + */ +@com.google.protobuf.Generated +public final class StandardOffer extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer) + StandardOfferOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StandardOffer"); + } + + // Use StandardOffer.newBuilder() to construct. + private StandardOffer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private StandardOffer() { + name_ = ""; + serviceLevel_ = ""; + serviceLevelTitle_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder.class); + } + + public interface PriceModelOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatFee field is set. + */ + boolean hasFlatFee(); + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatFee. + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + getFlatFee(); + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscriptionOrBuilder + getFlatFeeOrBuilder(); + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usage field is set. + */ + boolean hasUsage(); + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usage. + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage getUsage(); + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder + getUsageOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SubscriptionCase + getSubscriptionCase(); + } + + /** + * + * + *
+   * Price model of the offer.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel} + */ + public static final class PriceModel extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) + PriceModelOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PriceModel"); + } + + // Use PriceModel.newBuilder() to construct. + private PriceModel(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private PriceModel() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder.class); + } + + public interface SkuListOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + java.util.List getSkusList(); + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + int getSkusCount(); + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + java.lang.String getSkus(int index); + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + com.google.protobuf.ByteString getSkusBytes(int index); + } + + /** + * + * + *
+     * A collection of SKUs.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList} + */ + public static final class SkuList extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + SkuListOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuList"); + } + + // Use SkuList.newBuilder() to construct. + private SkuList(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SkuList() { + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder + .class); + } + + public static final int SKUS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList skus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + public com.google.protobuf.ProtocolStringList getSkusList() { + return skus_; + } + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + public int getSkusCount() { + return skus_.size(); + } + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + public java.lang.String getSkus(int index) { + return skus_.get(index); + } + + /** + * + * + *
+       * Output only. List of SKUs by name.
+       * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + public com.google.protobuf.ByteString getSkusBytes(int index) { + return skus_.getByteString(index); + } + + 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 { + for (int i = 0; i < skus_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, skus_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < skus_.size(); i++) { + dataSize += computeStringSizeNoTag(skus_.getRaw(i)); + } + size += dataSize; + size += 1 * getSkusList().size(); + } + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) obj; + + if (!getSkusList().equals(other.getSkusList())) 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(); + if (getSkusCount() > 0) { + hash = (37 * hash) + SKUS_FIELD_NUMBER; + hash = (53 * hash) + getSkusList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * A collection of SKUs.
+       * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + skus_.makeImmutable(); + result.skus_ = skus_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList other) { + if (other + == com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance()) return this; + if (!other.skus_.isEmpty()) { + if (skus_.isEmpty()) { + skus_ = other.skus_; + bitField0_ |= 0x00000001; + } else { + ensureSkusIsMutable(); + skus_.addAll(other.skus_); + } + 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: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureSkusIsMutable(); + skus_.add(s); + break; + } // case 10 + 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 com.google.protobuf.LazyStringArrayList skus_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureSkusIsMutable() { + if (!skus_.isModifiable()) { + skus_ = new com.google.protobuf.LazyStringArrayList(skus_); + } + bitField0_ |= 0x00000001; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skus. + */ + public com.google.protobuf.ProtocolStringList getSkusList() { + skus_.makeImmutable(); + return skus_; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skus. + */ + public int getSkusCount() { + return skus_.size(); + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skus at the given index. + */ + public java.lang.String getSkus(int index) { + return skus_.get(index); + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skus at the given index. + */ + public com.google.protobuf.ByteString getSkusBytes(int index) { + return skus_.getByteString(index); + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index to set the value at. + * @param value The skus to set. + * @return This builder for chaining. + */ + public Builder setSkus(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.set(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The skus to add. + * @return This builder for chaining. + */ + public Builder addSkus(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkusIsMutable(); + skus_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param values The skus to add. + * @return This builder for chaining. + */ + public Builder addAllSkus(java.lang.Iterable values) { + ensureSkusIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skus_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearSkus() { + skus_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + ; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SKUs by name.
+         * 
+ * + * + * repeated string skus = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes of the skus to add. + * @return This builder for chaining. + */ + public Builder addSkusBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureSkusIsMutable(); + skus_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SkuList 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface SkuGroupListOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skuGroups. + */ + java.util.List getSkuGroupsList(); + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skuGroups. + */ + int getSkuGroupsCount(); + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skuGroups at the given index. + */ + java.lang.String getSkuGroups(int index); + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skuGroups at the given index. + */ + com.google.protobuf.ByteString getSkuGroupsBytes(int index); + } + + /** + * + * + *
+     * A collection of SkuGroups.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList} + */ + public static final class SkuGroupList extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + SkuGroupListOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SkuGroupList"); + } + + // Use SkuGroupList.newBuilder() to construct. + private SkuGroupList(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SkuGroupList() { + skuGroups_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder.class); + } + + public static final int SKU_GROUPS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList skuGroups_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skuGroups. + */ + public com.google.protobuf.ProtocolStringList getSkuGroupsList() { + return skuGroups_; + } + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skuGroups. + */ + public int getSkuGroupsCount() { + return skuGroups_.size(); + } + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skuGroups at the given index. + */ + public java.lang.String getSkuGroups(int index) { + return skuGroups_.get(index); + } + + /** + * + * + *
+       * Output only. List of SkuGroups by name.
+       * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skuGroups at the given index. + */ + public com.google.protobuf.ByteString getSkuGroupsBytes(int index) { + return skuGroups_.getByteString(index); + } + + 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 { + for (int i = 0; i < skuGroups_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, skuGroups_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < skuGroups_.size(); i++) { + dataSize += computeStringSizeNoTag(skuGroups_.getRaw(i)); + } + size += dataSize; + size += 1 * getSkuGroupsList().size(); + } + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) obj; + + if (!getSkuGroupsList().equals(other.getSkuGroupsList())) 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(); + if (getSkuGroupsCount() > 0) { + hash = (37 * hash) + SKU_GROUPS_FIELD_NUMBER; + hash = (53 * hash) + getSkuGroupsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * A collection of SkuGroups.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupListOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + skuGroups_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList( + this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + skuGroups_.makeImmutable(); + result.skuGroups_ = skuGroups_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList other) { + if (other + == com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance()) return this; + if (!other.skuGroups_.isEmpty()) { + if (skuGroups_.isEmpty()) { + skuGroups_ = other.skuGroups_; + bitField0_ |= 0x00000001; + } else { + ensureSkuGroupsIsMutable(); + skuGroups_.addAll(other.skuGroups_); + } + 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: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureSkuGroupsIsMutable(); + skuGroups_.add(s); + break; + } // case 10 + 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 com.google.protobuf.LazyStringArrayList skuGroups_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureSkuGroupsIsMutable() { + if (!skuGroups_.isModifiable()) { + skuGroups_ = new com.google.protobuf.LazyStringArrayList(skuGroups_); + } + bitField0_ |= 0x00000001; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the skuGroups. + */ + public com.google.protobuf.ProtocolStringList getSkuGroupsList() { + skuGroups_.makeImmutable(); + return skuGroups_; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The count of skuGroups. + */ + public int getSkuGroupsCount() { + return skuGroups_.size(); + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The skuGroups at the given index. + */ + public java.lang.String getSkuGroups(int index) { + return skuGroups_.get(index); + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the skuGroups at the given index. + */ + public com.google.protobuf.ByteString getSkuGroupsBytes(int index) { + return skuGroups_.getByteString(index); + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param index The index to set the value at. + * @param value The skuGroups to set. + * @return This builder for chaining. + */ + public Builder setSkuGroups(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuGroupsIsMutable(); + skuGroups_.set(index, value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The skuGroups to add. + * @return This builder for chaining. + */ + public Builder addSkuGroups(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkuGroupsIsMutable(); + skuGroups_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param values The skuGroups to add. + * @return This builder for chaining. + */ + public Builder addAllSkuGroups(java.lang.Iterable values) { + ensureSkuGroupsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skuGroups_); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearSkuGroups() { + skuGroups_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + ; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. List of SkuGroups by name.
+         * 
+ * + * + * repeated string sku_groups = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes of the skuGroups to add. + * @return This builder for chaining. + */ + public Builder addSkuGroupsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureSkuGroupsIsMutable(); + skuGroups_.add(value); + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupList + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SkuGroupList 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface UsageOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuList field is set. + */ + boolean hasSkuList(); + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuList. + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList getSkuList(); + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder + getSkuListOrBuilder(); + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuGroupList field is set. + */ + boolean hasSkuGroupList(); + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuGroupList. + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getSkuGroupList(); + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupListOrBuilder + getSkuGroupListOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.SkusCase + getSkusCase(); + } + + /** + * + * + *
+     * Price configurations for the usage part.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage} + */ + public static final class Usage extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) + UsageOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Usage"); + } + + // Use Usage.newBuilder() to construct. + private Usage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Usage() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder + .class); + } + + private int skusCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object skus_; + + public enum SkusCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + SKU_LIST(1), + SKU_GROUP_LIST(2), + SKUS_NOT_SET(0); + private final int value; + + private SkusCase(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 SkusCase valueOf(int value) { + return forNumber(value); + } + + public static SkusCase forNumber(int value) { + switch (value) { + case 1: + return SKU_LIST; + case 2: + return SKU_GROUP_LIST; + case 0: + return SKUS_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SkusCase getSkusCase() { + return SkusCase.forNumber(skusCase_); + } + + public static final int SKU_LIST_FIELD_NUMBER = 1; + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuList field is set. + */ + @java.lang.Override + public boolean hasSkuList() { + return skusCase_ == 1; + } + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuList. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + getSkuList() { + if (skusCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against these SKUs.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder + getSkuListOrBuilder() { + if (skusCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + + public static final int SKU_GROUP_LIST_FIELD_NUMBER = 2; + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuGroupList field is set. + */ + @java.lang.Override + public boolean hasSkuGroupList() { + return skusCase_ == 2; + } + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuGroupList. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getSkuGroupList() { + if (skusCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + + /** + * + * + *
+       * Output only. The offer's usage fees are charged against the SKUs in
+       * these groups.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupListOrBuilder + getSkuGroupListOrBuilder() { + if (skusCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + + 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 (skusCase_ == 1) { + output.writeMessage( + 1, (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) skus_); + } + if (skusCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + skus_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (skusCase_ == 1) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + skus_); + } + if (skusCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + skus_); + } + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) obj; + + if (!getSkusCase().equals(other.getSkusCase())) return false; + switch (skusCase_) { + case 1: + if (!getSkuList().equals(other.getSkuList())) return false; + break; + case 2: + if (!getSkuGroupList().equals(other.getSkuGroupList())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (skusCase_) { + case 1: + hash = (37 * hash) + SKU_LIST_FIELD_NUMBER; + hash = (53 * hash) + getSkuList().hashCode(); + break; + case 2: + hash = (37 * hash) + SKU_GROUP_LIST_FIELD_NUMBER; + hash = (53 * hash) + getSkuGroupList().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Price configurations for the usage part.
+       * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (skuListBuilder_ != null) { + skuListBuilder_.clear(); + } + if (skuGroupListBuilder_ != null) { + skuGroupListBuilder_.clear(); + } + skusCase_ = 0; + skus_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage result) { + result.skusCase_ = skusCase_; + result.skus_ = this.skus_; + if (skusCase_ == 1 && skuListBuilder_ != null) { + result.skus_ = skuListBuilder_.build(); + } + if (skusCase_ == 2 && skuGroupListBuilder_ != null) { + result.skus_ = skuGroupListBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage other) { + if (other + == com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance()) return this; + switch (other.getSkusCase()) { + case SKU_LIST: + { + mergeSkuList(other.getSkuList()); + break; + } + case SKU_GROUP_LIST: + { + mergeSkuGroupList(other.getSkuGroupList()); + break; + } + case SKUS_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetSkuListFieldBuilder().getBuilder(), extensionRegistry); + skusCase_ = 1; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetSkuGroupListFieldBuilder().getBuilder(), extensionRegistry); + skusCase_ = 2; + 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 skusCase_ = 0; + private java.lang.Object skus_; + + public SkusCase getSkusCase() { + return SkusCase.forNumber(skusCase_); + } + + public Builder clearSkus() { + skusCase_ = 0; + skus_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder> + skuListBuilder_; + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuList field is set. + */ + @java.lang.Override + public boolean hasSkuList() { + return skusCase_ == 1; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuList. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + getSkuList() { + if (skuListBuilder_ == null) { + if (skusCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } else { + if (skusCase_ == 1) { + return skuListBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList value) { + if (skuListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skus_ = value; + onChanged(); + } else { + skuListBuilder_.setMessage(value); + } + skusCase_ = 1; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder + builderForValue) { + if (skuListBuilder_ == null) { + skus_ = builderForValue.build(); + onChanged(); + } else { + skuListBuilder_.setMessage(builderForValue.build()); + } + skusCase_ = 1; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeSkuList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList value) { + if (skuListBuilder_ == null) { + if (skusCase_ == 1 + && skus_ + != com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance()) { + skus_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuList) + skus_) + .mergeFrom(value) + .buildPartial(); + } else { + skus_ = value; + } + onChanged(); + } else { + if (skusCase_ == 1) { + skuListBuilder_.mergeFrom(value); + } else { + skuListBuilder_.setMessage(value); + } + } + skusCase_ = 1; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearSkuList() { + if (skuListBuilder_ == null) { + if (skusCase_ == 1) { + skusCase_ = 0; + skus_ = null; + onChanged(); + } + } else { + if (skusCase_ == 1) { + skusCase_ = 0; + skus_ = null; + } + skuListBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder + getSkuListBuilder() { + return internalGetSkuListFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder + getSkuListOrBuilder() { + if ((skusCase_ == 1) && (skuListBuilder_ != null)) { + return skuListBuilder_.getMessageOrBuilder(); + } else { + if (skusCase_ == 1) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against these SKUs.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList sku_list = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListOrBuilder> + internalGetSkuListFieldBuilder() { + if (skuListBuilder_ == null) { + if (!(skusCase_ == 1)) { + skus_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .getDefaultInstance(); + } + skuListBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuListOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuList) + skus_, + getParentForChildren(), + isClean()); + skus_ = null; + } + skusCase_ = 1; + onChanged(); + return skuListBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupListOrBuilder> + skuGroupListBuilder_; + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the skuGroupList field is set. + */ + @java.lang.Override + public boolean hasSkuGroupList() { + return skusCase_ == 2; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The skuGroupList. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + getSkuGroupList() { + if (skuGroupListBuilder_ == null) { + if (skusCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } else { + if (skusCase_ == 2) { + return skuGroupListBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuGroupList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList value) { + if (skuGroupListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + skus_ = value; + onChanged(); + } else { + skuGroupListBuilder_.setMessage(value); + } + skusCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkuGroupList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList.Builder + builderForValue) { + if (skuGroupListBuilder_ == null) { + skus_ = builderForValue.build(); + onChanged(); + } else { + skuGroupListBuilder_.setMessage(builderForValue.build()); + } + skusCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeSkuGroupList( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList value) { + if (skuGroupListBuilder_ == null) { + if (skusCase_ == 2 + && skus_ + != com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupList.getDefaultInstance()) { + skus_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .newBuilder( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupList) + skus_) + .mergeFrom(value) + .buildPartial(); + } else { + skus_ = value; + } + onChanged(); + } else { + if (skusCase_ == 2) { + skuGroupListBuilder_.mergeFrom(value); + } else { + skuGroupListBuilder_.setMessage(value); + } + } + skusCase_ = 2; + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearSkuGroupList() { + if (skuGroupListBuilder_ == null) { + if (skusCase_ == 2) { + skusCase_ = 0; + skus_ = null; + onChanged(); + } + } else { + if (skusCase_ == 2) { + skusCase_ = 0; + skus_ = null; + } + skuGroupListBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder + getSkuGroupListBuilder() { + return internalGetSkuGroupListFieldBuilder().getBuilder(); + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupListOrBuilder + getSkuGroupListOrBuilder() { + if ((skusCase_ == 2) && (skuGroupListBuilder_ != null)) { + return skuGroupListBuilder_.getMessageOrBuilder(); + } else { + if (skusCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupList) + skus_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + } + + /** + * + * + *
+         * Output only. The offer's usage fees are charged against the SKUs in
+         * these groups.
+         * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList sku_group_list = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupListOrBuilder> + internalGetSkuGroupListFieldBuilder() { + if (skuGroupListBuilder_ == null) { + if (!(skusCase_ == 2)) { + skus_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .getDefaultInstance(); + } + skuGroupListBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .SkuGroupListOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuGroupList) + skus_, + getParentForChildren(), + isClean()); + skus_ = null; + } + skusCase_ = 2; + onChanged(); + return skuGroupListBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Usage 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FlatFeeSubscriptionOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. Flat fee subscription SKU for the offer.
+       * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + java.lang.String getSku(); + + /** + * + * + *
+       * Output only. Flat fee subscription SKU for the offer.
+       * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + com.google.protobuf.ByteString getSkuBytes(); + } + + /** + * + * + *
+     * Price configurations for flat fee subscriptions.
+     * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription} + */ + public static final class FlatFeeSubscription extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + FlatFeeSubscriptionOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "FlatFeeSubscription"); + } + + // Use FlatFeeSubscription.newBuilder() to construct. + private FlatFeeSubscription(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private FlatFeeSubscription() { + sku_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.Builder.class); + } + + public static final int SKU_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object sku_ = ""; + + /** + * + * + *
+       * Output only. Flat fee subscription SKU for the offer.
+       * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + @java.lang.Override + public java.lang.String getSku() { + java.lang.Object ref = sku_; + 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(); + sku_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. Flat fee subscription SKU for the offer.
+       * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSkuBytes() { + java.lang.Object ref = sku_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + sku_ = 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.GeneratedMessage.isStringEmpty(sku_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, sku_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(sku_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, sku_); + } + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + obj; + + if (!getSku().equals(other.getSku())) 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) + SKU_FIELD_NUMBER; + hash = (53 * hash) + getSku().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Price configurations for flat fee subscriptions.
+       * 
+ * + * Protobuf type {@code + * google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + sku_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.sku_ = sku_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + other) { + if (other + == com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance()) return this; + if (!other.getSku().isEmpty()) { + sku_ = other.sku_; + bitField0_ |= 0x00000001; + 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: + { + sku_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + 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 sku_ = ""; + + /** + * + * + *
+         * Output only. Flat fee subscription SKU for the offer.
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The sku. + */ + public java.lang.String getSku() { + java.lang.Object ref = sku_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + sku_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. Flat fee subscription SKU for the offer.
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for sku. + */ + public com.google.protobuf.ByteString getSkuBytes() { + java.lang.Object ref = sku_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + sku_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. Flat fee subscription SKU for the offer.
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The sku to set. + * @return This builder for chaining. + */ + public Builder setSku(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + sku_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Flat fee subscription SKU for the offer.
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearSku() { + sku_ = getDefaultInstance().getSku(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. Flat fee subscription SKU for the offer.
+         * 
+ * + * + * string sku = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for sku to set. + * @return This builder for chaining. + */ + public Builder setSkuBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + sku_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FlatFeeSubscription 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int subscriptionCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object subscription_; + + public enum SubscriptionCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + FLAT_FEE(2), + SUBSCRIPTION_NOT_SET(0); + private final int value; + + private SubscriptionCase(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 SubscriptionCase valueOf(int value) { + return forNumber(value); + } + + public static SubscriptionCase forNumber(int value) { + switch (value) { + case 2: + return FLAT_FEE; + case 0: + return SUBSCRIPTION_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SubscriptionCase getSubscriptionCase() { + return SubscriptionCase.forNumber(subscriptionCase_); + } + + public static final int FLAT_FEE_FIELD_NUMBER = 2; + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatFee field is set. + */ + @java.lang.Override + public boolean hasFlatFee() { + return subscriptionCase_ == 2; + } + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + getFlatFee() { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .getDefaultInstance(); + } + + /** + * + * + *
+     * Output only. Price configurations for the flat fee subscription.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder + getFlatFeeOrBuilder() { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .getDefaultInstance(); + } + + public static final int USAGE_FIELD_NUMBER = 1; + private com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage_; + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usage field is set. + */ + @java.lang.Override + public boolean hasUsage() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usage. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage getUsage() { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance() + : usage_; + } + + /** + * + * + *
+     * Output only. Price configurations for the usage part.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder + getUsageOrBuilder() { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance() + : usage_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUsage()); + } + if (subscriptionCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription) + subscription_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUsage()); + } + if (subscriptionCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_); + } + 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) obj; + + if (hasUsage() != other.hasUsage()) return false; + if (hasUsage()) { + if (!getUsage().equals(other.getUsage())) return false; + } + if (!getSubscriptionCase().equals(other.getSubscriptionCase())) return false; + switch (subscriptionCase_) { + case 2: + if (!getFlatFee().equals(other.getFlatFee())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUsage()) { + hash = (37 * hash) + USAGE_FIELD_NUMBER; + hash = (53 * hash) + getUsage().hashCode(); + } + switch (subscriptionCase_) { + case 2: + hash = (37 * hash) + FLAT_FEE_FIELD_NUMBER; + hash = (53 * hash) + getFlatFee().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Price model of the offer.
+     * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUsageFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (flatFeeBuilder_ != null) { + flatFeeBuilder_.clear(); + } + usage_ = null; + if (usageBuilder_ != null) { + usageBuilder_.dispose(); + usageBuilder_ = null; + } + subscriptionCase_ = 0; + subscription_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.usage_ = usageBuilder_ == null ? usage_ : usageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel result) { + result.subscriptionCase_ = subscriptionCase_; + result.subscription_ = this.subscription_; + if (subscriptionCase_ == 2 && flatFeeBuilder_ != null) { + result.subscription_ = flatFeeBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel other) { + if (other + == com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .getDefaultInstance()) return this; + if (other.hasUsage()) { + mergeUsage(other.getUsage()); + } + switch (other.getSubscriptionCase()) { + case FLAT_FEE: + { + mergeFlatFee(other.getFlatFee()); + break; + } + case SUBSCRIPTION_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(internalGetUsageFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetFlatFeeFieldBuilder().getBuilder(), extensionRegistry); + subscriptionCase_ = 2; + 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 subscriptionCase_ = 0; + private java.lang.Object subscription_; + + public SubscriptionCase getSubscriptionCase() { + return SubscriptionCase.forNumber(subscriptionCase_); + } + + public Builder clearSubscription() { + subscriptionCase_ = 0; + subscription_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder> + flatFeeBuilder_; + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the flatFee field is set. + */ + @java.lang.Override + public boolean hasFlatFee() { + return subscriptionCase_ == 2; + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The flatFee. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + getFlatFee() { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance(); + } else { + if (subscriptionCase_ == 2) { + return flatFeeBuilder_.getMessage(); + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setFlatFee( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + value) { + if (flatFeeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subscription_ = value; + onChanged(); + } else { + flatFeeBuilder_.setMessage(value); + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setFlatFee( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .Builder + builderForValue) { + if (flatFeeBuilder_ == null) { + subscription_ = builderForValue.build(); + onChanged(); + } else { + flatFeeBuilder_.setMessage(builderForValue.build()); + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeFlatFee( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + value) { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2 + && subscription_ + != com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance()) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.newBuilder( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_) + .mergeFrom(value) + .buildPartial(); + } else { + subscription_ = value; + } + onChanged(); + } else { + if (subscriptionCase_ == 2) { + flatFeeBuilder_.mergeFrom(value); + } else { + flatFeeBuilder_.setMessage(value); + } + } + subscriptionCase_ = 2; + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearFlatFee() { + if (flatFeeBuilder_ == null) { + if (subscriptionCase_ == 2) { + subscriptionCase_ = 0; + subscription_ = null; + onChanged(); + } + } else { + if (subscriptionCase_ == 2) { + subscriptionCase_ = 0; + subscription_ = null; + } + flatFeeBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .Builder + getFlatFeeBuilder() { + return internalGetFlatFeeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder + getFlatFeeOrBuilder() { + if ((subscriptionCase_ == 2) && (flatFeeBuilder_ != null)) { + return flatFeeBuilder_.getMessageOrBuilder(); + } else { + if (subscriptionCase_ == 2) { + return (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_; + } + return com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance(); + } + } + + /** + * + * + *
+       * Output only. Price configurations for the flat fee subscription.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription flat_fee = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.FlatFeeSubscription + .Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder> + internalGetFlatFeeFieldBuilder() { + if (flatFeeBuilder_ == null) { + if (!(subscriptionCase_ == 2)) { + subscription_ = + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.getDefaultInstance(); + } + flatFeeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscriptionOrBuilder>( + (com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .FlatFeeSubscription) + subscription_, + getParentForChildren(), + isClean()); + subscription_ = null; + } + subscriptionCase_ = 2; + onChanged(); + return flatFeeBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder> + usageBuilder_; + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the usage field is set. + */ + public boolean hasUsage() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The usage. + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage getUsage() { + if (usageBuilder_ == null) { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance() + : usage_; + } else { + return usageBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUsage( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage value) { + if (usageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + usage_ = value; + } else { + usageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUsage( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder + builderForValue) { + if (usageBuilder_ == null) { + usage_ = builderForValue.build(); + } else { + usageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUsage( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage value) { + if (usageBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && usage_ != null + && usage_ + != com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance()) { + getUsageBuilder().mergeFrom(value); + } else { + usage_ = value; + } + } else { + usageBuilder_.mergeFrom(value); + } + if (usage_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUsage() { + bitField0_ = (bitField0_ & ~0x00000002); + usage_ = null; + if (usageBuilder_ != null) { + usageBuilder_.dispose(); + usageBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder + getUsageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetUsageFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder + getUsageOrBuilder() { + if (usageBuilder_ != null) { + return usageBuilder_.getMessageOrBuilder(); + } else { + return usage_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage + .getDefaultInstance() + : usage_; + } + } + + /** + * + * + *
+       * Output only. Price configurations for the usage part.
+       * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage usage = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder> + internalGetUsageFieldBuilder() { + if (usageBuilder_ == null) { + usageBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Usage.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.UsageOrBuilder>( + getUsage(), getParentForChildren(), isClean()); + usage_ = null; + } + return usageBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PriceModel 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.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int termCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object term_; + + public enum TermCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + TERM_DURATION_MONTHS(7), + TERM_NOT_SET(0); + private final int value; + + private TermCase(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 TermCase valueOf(int value) { + return forNumber(value); + } + + public static TermCase forNumber(int value) { + switch (value) { + case 7: + return TERM_DURATION_MONTHS; + case 0: + return TERM_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public TermCase getTermCase() { + return TermCase.forNumber(termCase_); + } + + public static final int TERM_DURATION_MONTHS_FIELD_NUMBER = 7; + + /** + * + * + *
+   * Output only. Term duration of the offer in months.
+   * Applicable only to offers with a subscription price model.
+   * Additional forms of offer term may be added in the future.
+   * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + @java.lang.Override + public boolean hasTermDurationMonths() { + return termCase_ == 7; + } + + /** + * + * + *
+   * Output only. Term duration of the offer in months.
+   * Applicable only to offers with a subscription price model.
+   * Additional forms of offer term may be added in the future.
+   * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + @java.lang.Override + public int getTermDurationMonths() { + if (termCase_ == 7) { + return (java.lang.Integer) term_; + } + return 0; + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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 CREATE_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int EFFECTIVE_TIME_FIELD_NUMBER = 4; + private com.google.protobuf.Timestamp effectiveTime_; + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + @java.lang.Override + public boolean hasEffectiveTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEffectiveTime() { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder() { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + + public static final int EXPIRE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp expireTime_; + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the expireTime field is set. + */ + @java.lang.Override + public boolean hasExpireTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The expireTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getExpireTime() { + return expireTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expireTime_; + } + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() { + return expireTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expireTime_; + } + + public static final int SERVICE_LEVEL_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceLevel_ = ""; + + /** + * + * + *
+   * Output only. Identifier that distinguishes between different service levels
+   * of the same product that constitute distinct offerings to customers with
+   * different pricing.
+   *
+   * The service levels of a product are also referred to in some cases as the
+   * product's 'plans', and the `service_level` value is referred to in some
+   * cases as the "plan ID".
+   *
+   * Multiple non-expired standard offers can share the same service level when
+   * they are subscription offers for different term durations.
+   * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + @java.lang.Override + public java.lang.String getServiceLevel() { + java.lang.Object ref = serviceLevel_; + 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(); + serviceLevel_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Identifier that distinguishes between different service levels
+   * of the same product that constitute distinct offerings to customers with
+   * different pricing.
+   *
+   * The service levels of a product are also referred to in some cases as the
+   * product's 'plans', and the `service_level` value is referred to in some
+   * cases as the "plan ID".
+   *
+   * Multiple non-expired standard offers can share the same service level when
+   * they are subscription offers for different term durations.
+   * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceLevelBytes() { + java.lang.Object ref = serviceLevel_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevel_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVICE_LEVEL_TITLE_FIELD_NUMBER = 9; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceLevelTitle_ = ""; + + /** + * + * + *
+   * Output only. Title of the service level.
+   *
+   * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+   * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevelTitle. + */ + @java.lang.Override + public java.lang.String getServiceLevelTitle() { + java.lang.Object ref = serviceLevelTitle_; + 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(); + serviceLevelTitle_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Title of the service level.
+   *
+   * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+   * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevelTitle. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceLevelTitleBytes() { + java.lang.Object ref = serviceLevelTitle_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevelTitle_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRICE_MODEL_FIELD_NUMBER = 8; + private com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel priceModel_; + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceModel field is set. + */ + @java.lang.Override + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceModel. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel getPriceModel() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.getDefaultInstance() + : priceModel_; + } + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder + getPriceModelOrBuilder() { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.getDefaultInstance() + : priceModel_; + } + + 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.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getUpdateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(4, getEffectiveTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(5, getExpireTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevel_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, serviceLevel_); + } + if (termCase_ == 7) { + output.writeInt32(7, (int) ((java.lang.Integer) term_)); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeMessage(8, getPriceModel()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevelTitle_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 9, serviceLevelTitle_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getUpdateTime()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getEffectiveTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getExpireTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevel_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, serviceLevel_); + } + if (termCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeInt32Size( + 7, (int) ((java.lang.Integer) term_)); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getPriceModel()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceLevelTitle_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(9, serviceLevelTitle_); + } + 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.cloud.commerceproducer.v1beta.StandardOffer)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.StandardOffer other = + (com.google.cloud.commerceproducer.v1beta.StandardOffer) obj; + + if (!getName().equals(other.getName())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (hasEffectiveTime() != other.hasEffectiveTime()) return false; + if (hasEffectiveTime()) { + if (!getEffectiveTime().equals(other.getEffectiveTime())) return false; + } + if (hasExpireTime() != other.hasExpireTime()) return false; + if (hasExpireTime()) { + if (!getExpireTime().equals(other.getExpireTime())) return false; + } + if (!getServiceLevel().equals(other.getServiceLevel())) return false; + if (!getServiceLevelTitle().equals(other.getServiceLevelTitle())) return false; + if (hasPriceModel() != other.hasPriceModel()) return false; + if (hasPriceModel()) { + if (!getPriceModel().equals(other.getPriceModel())) return false; + } + if (!getTermCase().equals(other.getTermCase())) return false; + switch (termCase_) { + case 7: + if (getTermDurationMonths() != other.getTermDurationMonths()) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (hasEffectiveTime()) { + hash = (37 * hash) + EFFECTIVE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEffectiveTime().hashCode(); + } + if (hasExpireTime()) { + hash = (37 * hash) + EXPIRE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getExpireTime().hashCode(); + } + hash = (37 * hash) + SERVICE_LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getServiceLevel().hashCode(); + hash = (37 * hash) + SERVICE_LEVEL_TITLE_FIELD_NUMBER; + hash = (53 * hash) + getServiceLevelTitle().hashCode(); + if (hasPriceModel()) { + hash = (37 * hash) + PRICE_MODEL_FIELD_NUMBER; + hash = (53 * hash) + getPriceModel().hashCode(); + } + switch (termCase_) { + case 7: + hash = (37 * hash) + TERM_DURATION_MONTHS_FIELD_NUMBER; + hash = (53 * hash) + getTermDurationMonths(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer 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.cloud.commerceproducer.v1beta.StandardOffer parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.StandardOffer 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message describing the StandardOffer resource.
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.StandardOffer} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.StandardOffer) + com.google.cloud.commerceproducer.v1beta.StandardOfferOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.StandardOffer.class, + com.google.cloud.commerceproducer.v1beta.StandardOffer.Builder.class); + } + + // Construct using com.google.cloud.commerceproducer.v1beta.StandardOffer.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + internalGetEffectiveTimeFieldBuilder(); + internalGetExpireTimeFieldBuilder(); + internalGetPriceModelFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + effectiveTime_ = null; + if (effectiveTimeBuilder_ != null) { + effectiveTimeBuilder_.dispose(); + effectiveTimeBuilder_ = null; + } + expireTime_ = null; + if (expireTimeBuilder_ != null) { + expireTimeBuilder_.dispose(); + expireTimeBuilder_ = null; + } + serviceLevel_ = ""; + serviceLevelTitle_ = ""; + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + termCase_ = 0; + term_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOfferProto + .internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.StandardOffer.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer build() { + com.google.cloud.commerceproducer.v1beta.StandardOffer result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.StandardOffer buildPartial() { + com.google.cloud.commerceproducer.v1beta.StandardOffer result = + new com.google.cloud.commerceproducer.v1beta.StandardOffer(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.commerceproducer.v1beta.StandardOffer result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.effectiveTime_ = + effectiveTimeBuilder_ == null ? effectiveTime_ : effectiveTimeBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.expireTime_ = expireTimeBuilder_ == null ? expireTime_ : expireTimeBuilder_.build(); + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.serviceLevel_ = serviceLevel_; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.serviceLevelTitle_ = serviceLevelTitle_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.priceModel_ = priceModelBuilder_ == null ? priceModel_ : priceModelBuilder_.build(); + to_bitField0_ |= 0x00000010; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.commerceproducer.v1beta.StandardOffer result) { + result.termCase_ = termCase_; + result.term_ = this.term_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.StandardOffer) { + return mergeFrom((com.google.cloud.commerceproducer.v1beta.StandardOffer) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.commerceproducer.v1beta.StandardOffer other) { + if (other == com.google.cloud.commerceproducer.v1beta.StandardOffer.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + if (other.hasEffectiveTime()) { + mergeEffectiveTime(other.getEffectiveTime()); + } + if (other.hasExpireTime()) { + mergeExpireTime(other.getExpireTime()); + } + if (!other.getServiceLevel().isEmpty()) { + serviceLevel_ = other.serviceLevel_; + bitField0_ |= 0x00000040; + onChanged(); + } + if (!other.getServiceLevelTitle().isEmpty()) { + serviceLevelTitle_ = other.serviceLevelTitle_; + bitField0_ |= 0x00000080; + onChanged(); + } + if (other.hasPriceModel()) { + mergePriceModel(other.getPriceModel()); + } + switch (other.getTermCase()) { + case TERM_DURATION_MONTHS: + { + setTermDurationMonths(other.getTermDurationMonths()); + break; + } + case TERM_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + input.readMessage( + internalGetEffectiveTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetExpireTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 42 + case 50: + { + serviceLevel_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 50 + case 56: + { + term_ = input.readInt32(); + termCase_ = 7; + break; + } // case 56 + case 66: + { + input.readMessage( + internalGetPriceModelFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 66 + case 74: + { + serviceLevelTitle_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000080; + break; + } // case 74 + 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 termCase_ = 0; + private java.lang.Object term_; + + public TermCase getTermCase() { + return TermCase.forNumber(termCase_); + } + + public Builder clearTerm() { + termCase_ = 0; + term_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+     * Output only. Term duration of the offer in months.
+     * Applicable only to offers with a subscription price model.
+     * Additional forms of offer term may be added in the future.
+     * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + public boolean hasTermDurationMonths() { + return termCase_ == 7; + } + + /** + * + * + *
+     * Output only. Term duration of the offer in months.
+     * Applicable only to offers with a subscription price model.
+     * Additional forms of offer term may be added in the future.
+     * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + public int getTermDurationMonths() { + if (termCase_ == 7) { + return (java.lang.Integer) term_; + } + return 0; + } + + /** + * + * + *
+     * Output only. Term duration of the offer in months.
+     * Applicable only to offers with a subscription price model.
+     * Additional forms of offer term may be added in the future.
+     * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The termDurationMonths to set. + * @return This builder for chaining. + */ + public Builder setTermDurationMonths(int value) { + + termCase_ = 7; + term_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Term duration of the offer in months.
+     * Applicable only to offers with a subscription price model.
+     * Additional forms of offer term may be added in the future.
+     * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTermDurationMonths() { + if (termCase_ == 7) { + termCase_ = 0; + term_ = null; + onChanged(); + } + return this; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @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; + } + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. Name of resource.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000004); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Creation time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000008); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Last update time of the offer.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private com.google.protobuf.Timestamp effectiveTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + effectiveTimeBuilder_; + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + public boolean hasEffectiveTime() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + public com.google.protobuf.Timestamp getEffectiveTime() { + if (effectiveTimeBuilder_ == null) { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } else { + return effectiveTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveTime(com.google.protobuf.Timestamp value) { + if (effectiveTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + effectiveTime_ = value; + } else { + effectiveTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEffectiveTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (effectiveTimeBuilder_ == null) { + effectiveTime_ = builderForValue.build(); + } else { + effectiveTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEffectiveTime(com.google.protobuf.Timestamp value) { + if (effectiveTimeBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && effectiveTime_ != null + && effectiveTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEffectiveTimeBuilder().mergeFrom(value); + } else { + effectiveTime_ = value; + } + } else { + effectiveTimeBuilder_.mergeFrom(value); + } + if (effectiveTime_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEffectiveTime() { + bitField0_ = (bitField0_ & ~0x00000010); + effectiveTime_ = null; + if (effectiveTimeBuilder_ != null) { + effectiveTimeBuilder_.dispose(); + effectiveTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEffectiveTimeBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetEffectiveTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder() { + if (effectiveTimeBuilder_ != null) { + return effectiveTimeBuilder_.getMessageOrBuilder(); + } else { + return effectiveTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : effectiveTime_; + } + } + + /** + * + * + *
+     * Output only. Effective time of the offer.
+     * Prior to this time, the offer cannot be purchased or used as the base
+     * standard offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEffectiveTimeFieldBuilder() { + if (effectiveTimeBuilder_ == null) { + effectiveTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEffectiveTime(), getParentForChildren(), isClean()); + effectiveTime_ = null; + } + return effectiveTimeBuilder_; + } + + private com.google.protobuf.Timestamp expireTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + expireTimeBuilder_; + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the expireTime field is set. + */ + public boolean hasExpireTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The expireTime. + */ + public com.google.protobuf.Timestamp getExpireTime() { + if (expireTimeBuilder_ == null) { + return expireTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : expireTime_; + } else { + return expireTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setExpireTime(com.google.protobuf.Timestamp value) { + if (expireTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + expireTime_ = value; + } else { + expireTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (expireTimeBuilder_ == null) { + expireTime_ = builderForValue.build(); + } else { + expireTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeExpireTime(com.google.protobuf.Timestamp value) { + if (expireTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && expireTime_ != null + && expireTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getExpireTimeBuilder().mergeFrom(value); + } else { + expireTime_ = value; + } + } else { + expireTimeBuilder_.mergeFrom(value); + } + if (expireTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearExpireTime() { + bitField0_ = (bitField0_ & ~0x00000020); + expireTime_ = null; + if (expireTimeBuilder_ != null) { + expireTimeBuilder_.dispose(); + expireTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getExpireTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetExpireTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() { + if (expireTimeBuilder_ != null) { + return expireTimeBuilder_.getMessageOrBuilder(); + } else { + return expireTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : expireTime_; + } + } + + /** + * + * + *
+     * Output only. Expire time of the offer.
+     * An offer is expired if its expire time is in the past.
+     * An expired standard offer cannot be purchased or used as the base standard
+     * offer of a private offer.
+     * 
+ * + * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetExpireTimeFieldBuilder() { + if (expireTimeBuilder_ == null) { + expireTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getExpireTime(), getParentForChildren(), isClean()); + expireTime_ = null; + } + return expireTimeBuilder_; + } + + private java.lang.Object serviceLevel_ = ""; + + /** + * + * + *
+     * Output only. Identifier that distinguishes between different service levels
+     * of the same product that constitute distinct offerings to customers with
+     * different pricing.
+     *
+     * The service levels of a product are also referred to in some cases as the
+     * product's 'plans', and the `service_level` value is referred to in some
+     * cases as the "plan ID".
+     *
+     * Multiple non-expired standard offers can share the same service level when
+     * they are subscription offers for different term durations.
+     * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + public java.lang.String getServiceLevel() { + java.lang.Object ref = serviceLevel_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceLevel_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Identifier that distinguishes between different service levels
+     * of the same product that constitute distinct offerings to customers with
+     * different pricing.
+     *
+     * The service levels of a product are also referred to in some cases as the
+     * product's 'plans', and the `service_level` value is referred to in some
+     * cases as the "plan ID".
+     *
+     * Multiple non-expired standard offers can share the same service level when
+     * they are subscription offers for different term durations.
+     * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + public com.google.protobuf.ByteString getServiceLevelBytes() { + java.lang.Object ref = serviceLevel_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevel_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Identifier that distinguishes between different service levels
+     * of the same product that constitute distinct offerings to customers with
+     * different pricing.
+     *
+     * The service levels of a product are also referred to in some cases as the
+     * product's 'plans', and the `service_level` value is referred to in some
+     * cases as the "plan ID".
+     *
+     * Multiple non-expired standard offers can share the same service level when
+     * they are subscription offers for different term durations.
+     * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The serviceLevel to set. + * @return This builder for chaining. + */ + public Builder setServiceLevel(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceLevel_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier that distinguishes between different service levels
+     * of the same product that constitute distinct offerings to customers with
+     * different pricing.
+     *
+     * The service levels of a product are also referred to in some cases as the
+     * product's 'plans', and the `service_level` value is referred to in some
+     * cases as the "plan ID".
+     *
+     * Multiple non-expired standard offers can share the same service level when
+     * they are subscription offers for different term durations.
+     * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearServiceLevel() { + serviceLevel_ = getDefaultInstance().getServiceLevel(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifier that distinguishes between different service levels
+     * of the same product that constitute distinct offerings to customers with
+     * different pricing.
+     *
+     * The service levels of a product are also referred to in some cases as the
+     * product's 'plans', and the `service_level` value is referred to in some
+     * cases as the "plan ID".
+     *
+     * Multiple non-expired standard offers can share the same service level when
+     * they are subscription offers for different term durations.
+     * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for serviceLevel to set. + * @return This builder for chaining. + */ + public Builder setServiceLevelBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceLevel_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + private java.lang.Object serviceLevelTitle_ = ""; + + /** + * + * + *
+     * Output only. Title of the service level.
+     *
+     * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+     * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevelTitle. + */ + public java.lang.String getServiceLevelTitle() { + java.lang.Object ref = serviceLevelTitle_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceLevelTitle_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Title of the service level.
+     *
+     * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+     * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevelTitle. + */ + public com.google.protobuf.ByteString getServiceLevelTitleBytes() { + java.lang.Object ref = serviceLevelTitle_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceLevelTitle_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Title of the service level.
+     *
+     * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+     * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The serviceLevelTitle to set. + * @return This builder for chaining. + */ + public Builder setServiceLevelTitle(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceLevelTitle_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Title of the service level.
+     *
+     * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+     * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearServiceLevelTitle() { + serviceLevelTitle_ = getDefaultInstance().getServiceLevelTitle(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Title of the service level.
+     *
+     * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+     * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for serviceLevelTitle to set. + * @return This builder for chaining. + */ + public Builder setServiceLevelTitleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceLevelTitle_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + private com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel priceModel_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder> + priceModelBuilder_; + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceModel field is set. + */ + public boolean hasPriceModel() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceModel. + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel getPriceModel() { + if (priceModelBuilder_ == null) { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.getDefaultInstance() + : priceModel_; + } else { + return priceModelBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel value) { + if (priceModelBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + priceModel_ = value; + } else { + priceModelBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setPriceModel( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder builderForValue) { + if (priceModelBuilder_ == null) { + priceModel_ = builderForValue.build(); + } else { + priceModelBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergePriceModel( + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel value) { + if (priceModelBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && priceModel_ != null + && priceModel_ + != com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel + .getDefaultInstance()) { + getPriceModelBuilder().mergeFrom(value); + } else { + priceModel_ = value; + } + } else { + priceModelBuilder_.mergeFrom(value); + } + if (priceModel_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearPriceModel() { + bitField0_ = (bitField0_ & ~0x00000100); + priceModel_ = null; + if (priceModelBuilder_ != null) { + priceModelBuilder_.dispose(); + priceModelBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder + getPriceModelBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetPriceModelFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder + getPriceModelOrBuilder() { + if (priceModelBuilder_ != null) { + return priceModelBuilder_.getMessageOrBuilder(); + } else { + return priceModel_ == null + ? com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.getDefaultInstance() + : priceModel_; + } + } + + /** + * + * + *
+     * Output only. Price model of the offer.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder> + internalGetPriceModelFieldBuilder() { + if (priceModelBuilder_ == null) { + priceModelBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.Builder, + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder>( + getPriceModel(), getParentForChildren(), isClean()); + priceModel_ = null; + } + return priceModelBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.StandardOffer) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.StandardOffer) + private static final com.google.cloud.commerceproducer.v1beta.StandardOffer DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.StandardOffer(); + } + + public static com.google.cloud.commerceproducer.v1beta.StandardOffer getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public StandardOffer 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.cloud.commerceproducer.v1beta.StandardOffer getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferName.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferName.java new file mode 100644 index 000000000000..90794a79288b --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferName.java @@ -0,0 +1,272 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@NullMarked +@Generated("by gapic-generator-java") +public class StandardOfferName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SERVICE_STANDARD_OFFER = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String service; + private final String standardOffer; + + @Deprecated + protected StandardOfferName() { + project = null; + location = null; + service = null; + standardOffer = null; + } + + private StandardOfferName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + service = Preconditions.checkNotNull(builder.getService()); + standardOffer = Preconditions.checkNotNull(builder.getStandardOffer()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public String getStandardOffer() { + return standardOffer; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static StandardOfferName of( + String project, String location, String service, String standardOffer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .setStandardOffer(standardOffer) + .build(); + } + + public static String format( + String project, String location, String service, String standardOffer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .setStandardOffer(standardOffer) + .build() + .toString(); + } + + public static @Nullable StandardOfferName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_SERVICE_STANDARD_OFFER.validatedMatch( + formattedString, "StandardOfferName.parse: formattedString not in valid format"); + return of( + matchMap.get("project"), + matchMap.get("location"), + matchMap.get("service"), + matchMap.get("standard_offer")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List<@Nullable StandardOfferName> values) { + List list = new ArrayList<>(values.size()); + for (StandardOfferName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SERVICE_STANDARD_OFFER.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (service != null) { + fieldMapBuilder.put("service", service); + } + if (standardOffer != null) { + fieldMapBuilder.put("standard_offer", standardOffer); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_SERVICE_STANDARD_OFFER.instantiate( + "project", + project, + "location", + location, + "service", + service, + "standard_offer", + standardOffer); + } + + @Override + public boolean equals(@Nullable Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + StandardOfferName that = ((StandardOfferName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.service, that.service) + && Objects.equals(this.standardOffer, that.standardOffer); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(service); + h *= 1000003; + h ^= Objects.hashCode(standardOffer); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}. + */ + public static class Builder { + private String project; + private String location; + private String service; + private String standardOffer; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public String getStandardOffer() { + return standardOffer; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setService(String service) { + this.service = service; + return this; + } + + public Builder setStandardOffer(String standardOffer) { + this.standardOffer = standardOffer; + return this; + } + + private Builder(StandardOfferName standardOfferName) { + this.project = standardOfferName.project; + this.location = standardOfferName.location; + this.service = standardOfferName.service; + this.standardOffer = standardOfferName.standardOffer; + } + + public StandardOfferName build() { + return new StandardOfferName(this); + } + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferOrBuilder.java new file mode 100644 index 000000000000..b4a20a1da359 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferOrBuilder.java @@ -0,0 +1,382 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/standard_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface StandardOfferOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.StandardOffer) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. Term duration of the offer in months.
+   * Applicable only to offers with a subscription price model.
+   * Additional forms of offer term may be added in the future.
+   * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return Whether the termDurationMonths field is set. + */ + boolean hasTermDurationMonths(); + + /** + * + * + *
+   * Output only. Term duration of the offer in months.
+   * Applicable only to offers with a subscription price model.
+   * Additional forms of offer term may be added in the future.
+   * 
+ * + * int32 term_duration_months = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The termDurationMonths. + */ + int getTermDurationMonths(); + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. Name of resource.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Creation time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Last update time of the offer.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the effectiveTime field is set. + */ + boolean hasEffectiveTime(); + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The effectiveTime. + */ + com.google.protobuf.Timestamp getEffectiveTime(); + + /** + * + * + *
+   * Output only. Effective time of the offer.
+   * Prior to this time, the offer cannot be purchased or used as the base
+   * standard offer of a private offer.
+   * 
+ * + * + * .google.protobuf.Timestamp effective_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEffectiveTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the expireTime field is set. + */ + boolean hasExpireTime(); + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The expireTime. + */ + com.google.protobuf.Timestamp getExpireTime(); + + /** + * + * + *
+   * Output only. Expire time of the offer.
+   * An offer is expired if its expire time is in the past.
+   * An expired standard offer cannot be purchased or used as the base standard
+   * offer of a private offer.
+   * 
+ * + * .google.protobuf.Timestamp expire_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Identifier that distinguishes between different service levels
+   * of the same product that constitute distinct offerings to customers with
+   * different pricing.
+   *
+   * The service levels of a product are also referred to in some cases as the
+   * product's 'plans', and the `service_level` value is referred to in some
+   * cases as the "plan ID".
+   *
+   * Multiple non-expired standard offers can share the same service level when
+   * they are subscription offers for different term durations.
+   * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevel. + */ + java.lang.String getServiceLevel(); + + /** + * + * + *
+   * Output only. Identifier that distinguishes between different service levels
+   * of the same product that constitute distinct offerings to customers with
+   * different pricing.
+   *
+   * The service levels of a product are also referred to in some cases as the
+   * product's 'plans', and the `service_level` value is referred to in some
+   * cases as the "plan ID".
+   *
+   * Multiple non-expired standard offers can share the same service level when
+   * they are subscription offers for different term durations.
+   * 
+ * + * string service_level = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevel. + */ + com.google.protobuf.ByteString getServiceLevelBytes(); + + /** + * + * + *
+   * Output only. Title of the service level.
+   *
+   * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+   * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The serviceLevelTitle. + */ + java.lang.String getServiceLevelTitle(); + + /** + * + * + *
+   * Output only. Title of the service level.
+   *
+   * Not included for `STANDARD_OFFER_VIEW_BASIC`.
+   * 
+ * + * string service_level_title = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for serviceLevelTitle. + */ + com.google.protobuf.ByteString getServiceLevelTitleBytes(); + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the priceModel field is set. + */ + boolean hasPriceModel(); + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The priceModel. + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel getPriceModel(); + + /** + * + * + *
+   * Output only. Price model of the offer.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.StandardOffer.PriceModel price_model = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelOrBuilder + getPriceModelOrBuilder(); + + com.google.cloud.commerceproducer.v1beta.StandardOffer.TermCase getTermCase(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferProto.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferProto.java new file mode 100644 index 000000000000..b82bf73ee8ca --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferProto.java @@ -0,0 +1,207 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/standard_offer.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public final class StandardOfferProto extends com.google.protobuf.GeneratedFile { + private StandardOfferProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StandardOfferProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "9google/cloud/commerceproducer/v1beta/standard_offer.proto\022$google.cloud.commer" + + "ceproducer.v1beta\032\037google/api/field_beha" + + "vior.proto\032\031google/api/resource.proto\032\037google/protobuf/timestamp.proto\"\245\n\n\r" + + "StandardOffer\022#\n" + + "\024term_duration_months\030\007 \001(\005B\003\340A\003H\000\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\0224\n" + + "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0227\n" + + "\016effective_time\030\004" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013expire_time\030\005" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\032\n\r" + + "service_level\030\006 \001(\tB\003\340A\003\022 \n" + + "\023service_level_title\030\t \001(\tB\003\340A\003\022X\n" + + "\013price_model\030\010" + + " \001(\0132>.google.cloud.commerceproducer.v1beta.StandardOffer.PriceModelB\003\340A\003\032\257\005\n\n" + + "PriceModel\022k\n" + + "\010flat_fee\030\002 \001(\0132R.google.cloud.commerceproducer.v1beta.StandardOffe" + + "r.PriceModel.FlatFeeSubscriptionB\003\340A\003H\000\022X\n" + + "\005usage\030\001 \001(\0132D.google.cloud.commercepr" + + "oducer.v1beta.StandardOffer.PriceModel.UsageB\003\340A\003\032D\n" + + "\007SkuList\0229\n" + + "\004skus\030\001 \003(\tB+\340A\003\372A%\n" + + "#commerceproducer.googleapis.com/Sku\032T\n" + + "\014SkuGroupList\022D\n\n" + + "sku_groups\030\001 \003(\tB0\340A\003\372A*\n" + + "(commerceproducer.googleapis.com/SkuGroup\032\334\001\n" + + "\005Usage\022_\n" + + "\010sku_list\030\001 \001(\0132F.goog" + + "le.cloud.commerceproducer.v1beta.StandardOffer.PriceModel.SkuListB\003\340A\003H\000\022j\n" + + "\016sku_group_list\030\002 \001(\0132K.google.cloud.commerce" + + "producer.v1beta.StandardOffer.PriceModel.SkuGroupListB\003\340A\003H\000B\006\n" + + "\004skus\032O\n" + + "\023FlatFeeSubscription\0228\n" + + "\003sku\030\001 \001(\tB+\340A\003\372A%\n" + + "#commerceproducer.googleapis.com/SkuB\016\n" + + "\014subscription:\256\001\352A\252\001\n" + + "-commerceproducer.googleapis.com/StandardOffer\022Zprojects/{project}/" + + "locations/{location}/services/{service}/" + + "standardOffers/{standard_offer}*\016standardOffers2\r" + + "standardOfferB\006\n" + + "\004termB\275\001\n" + + "(com.google.cloud.commerceproducer.v1betaB\022Sta" + + "ndardOfferProtoP\001ZTcloud.google.com/go/commerceproducer/apiv1beta/commerceproduc" + + "erpb;commerceproducerpb\252\002$Google.Cloud.CommerceProducer.V1Betab\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor, + new java.lang.String[] { + "TermDurationMonths", + "Name", + "CreateTime", + "UpdateTime", + "EffectiveTime", + "ExpireTime", + "ServiceLevel", + "ServiceLevelTitle", + "PriceModel", + "Term", + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_descriptor.getNestedType( + 0); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor, + new java.lang.String[] { + "FlatFee", "Usage", "Subscription", + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor + .getNestedType(0); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuList_descriptor, + new java.lang.String[] { + "Skus", + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor + .getNestedType(1); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_SkuGroupList_descriptor, + new java.lang.String[] { + "SkuGroups", + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor + .getNestedType(2); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_Usage_descriptor, + new java.lang.String[] { + "SkuList", "SkuGroupList", "Skus", + }); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor = + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_descriptor + .getNestedType(3); + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_commerceproducer_v1beta_StandardOffer_PriceModel_FlatFeeSubscription_descriptor, + new java.lang.String[] { + "Sku", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + registry.add(com.google.api.ResourceProto.resourceReference); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferView.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferView.java new file mode 100644 index 000000000000..8cd9197d0a44 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/StandardOfferView.java @@ -0,0 +1,200 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Controls which fields are returned in a StandardOffer returned by the API.
+ * https://google.aip.dev/157
+ * 
+ * + * Protobuf enum {@code google.cloud.commerceproducer.v1beta.StandardOfferView} + */ +@com.google.protobuf.Generated +public enum StandardOfferView implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * STANDARD_OFFER_VIEW_UNSPECIFIED = 0; + */ + STANDARD_OFFER_VIEW_UNSPECIFIED(0), + /** + * + * + *
+   * Include basic metadata about the StandardOffer, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * STANDARD_OFFER_VIEW_BASIC = 1; + */ + STANDARD_OFFER_VIEW_BASIC(1), + /** + * + * + *
+   * Include everything.
+   * 
+ * + * STANDARD_OFFER_VIEW_FULL = 2; + */ + STANDARD_OFFER_VIEW_FULL(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "StandardOfferView"); + } + + /** + * + * + *
+   * The default / unset value.
+   * The API will default to the BASIC view.
+   * 
+ * + * STANDARD_OFFER_VIEW_UNSPECIFIED = 0; + */ + public static final int STANDARD_OFFER_VIEW_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+   * Include basic metadata about the StandardOffer, but not the full contents.
+   * This is the default value (for both List and Get requests).
+   * 
+ * + * STANDARD_OFFER_VIEW_BASIC = 1; + */ + public static final int STANDARD_OFFER_VIEW_BASIC_VALUE = 1; + + /** + * + * + *
+   * Include everything.
+   * 
+ * + * STANDARD_OFFER_VIEW_FULL = 2; + */ + public static final int STANDARD_OFFER_VIEW_FULL_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static StandardOfferView valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static StandardOfferView forNumber(int value) { + switch (value) { + case 0: + return STANDARD_OFFER_VIEW_UNSPECIFIED; + case 1: + return STANDARD_OFFER_VIEW_BASIC; + case 2: + return STANDARD_OFFER_VIEW_FULL; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public StandardOfferView findValueByNumber(int number) { + return StandardOfferView.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto.getDescriptor() + .getEnumTypes() + .get(1); + } + + private static final StandardOfferView[] VALUES = values(); + + public static StandardOfferView valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private StandardOfferView(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.commerceproducer.v1beta.StandardOfferView) +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequest.java new file mode 100644 index 000000000000..f43f4a162450 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequest.java @@ -0,0 +1,1096 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for updating a PrivateOfferDocument
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest} + */ +@com.google.protobuf.Generated +public final class UpdatePrivateOfferDocumentRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) + UpdatePrivateOfferDocumentRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdatePrivateOfferDocumentRequest"); + } + + // Use UpdatePrivateOfferDocumentRequest.newBuilder() to construct. + private UpdatePrivateOfferDocumentRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdatePrivateOfferDocumentRequest() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.Builder + .class); + } + + private int bitField0_; + public static final int PRIVATE_OFFER_DOCUMENT_FIELD_NUMBER = 1; + private com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument privateOfferDocument_; + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + @java.lang.Override + public boolean hasPrivateOfferDocument() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument() { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder() { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + + public static final int UPDATE_MASK_FIELD_NUMBER = 2; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getPrivateOfferDocument()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getUpdateMask()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(1, getPrivateOfferDocument()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask()); + } + 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest other = + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) obj; + + if (hasPrivateOfferDocument() != other.hasPrivateOfferDocument()) return false; + if (hasPrivateOfferDocument()) { + if (!getPrivateOfferDocument().equals(other.getPrivateOfferDocument())) return false; + } + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) 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(); + if (hasPrivateOfferDocument()) { + hash = (37 * hash) + PRIVATE_OFFER_DOCUMENT_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOfferDocument().hashCode(); + } + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for updating a PrivateOfferDocument
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.class, + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.Builder + .class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetPrivateOfferDocumentFieldBuilder(); + internalGetUpdateMaskFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + privateOfferDocument_ = null; + if (privateOfferDocumentBuilder_ != null) { + privateOfferDocumentBuilder_.dispose(); + privateOfferDocumentBuilder_ = null; + } + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferDocumentRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest build() { + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + buildPartial() { + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest result = + new com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.privateOfferDocument_ = + privateOfferDocumentBuilder_ == null + ? privateOfferDocument_ + : privateOfferDocumentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + .getDefaultInstance()) return this; + if (other.hasPrivateOfferDocument()) { + mergePrivateOfferDocument(other.getPrivateOfferDocument()); + } + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetPrivateOfferDocumentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + 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 com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument privateOfferDocument_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + privateOfferDocumentBuilder_; + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + public boolean hasPrivateOfferDocument() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument() { + if (privateOfferDocumentBuilder_ == null) { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } else { + return privateOfferDocumentBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + privateOfferDocument_ = value; + } else { + privateOfferDocumentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder builderForValue) { + if (privateOfferDocumentBuilder_ == null) { + privateOfferDocument_ = builderForValue.build(); + } else { + privateOfferDocumentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergePrivateOfferDocument( + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument value) { + if (privateOfferDocumentBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && privateOfferDocument_ != null + && privateOfferDocument_ + != com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument + .getDefaultInstance()) { + getPrivateOfferDocumentBuilder().mergeFrom(value); + } else { + privateOfferDocument_ = value; + } + } else { + privateOfferDocumentBuilder_.mergeFrom(value); + } + if (privateOfferDocument_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearPrivateOfferDocument() { + bitField0_ = (bitField0_ & ~0x00000001); + privateOfferDocument_ = null; + if (privateOfferDocumentBuilder_ != null) { + privateOfferDocumentBuilder_.dispose(); + privateOfferDocumentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder + getPrivateOfferDocumentBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetPrivateOfferDocumentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder() { + if (privateOfferDocumentBuilder_ != null) { + return privateOfferDocumentBuilder_.getMessageOrBuilder(); + } else { + return privateOfferDocument_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.getDefaultInstance() + : privateOfferDocument_; + } + } + + /** + * + * + *
+     * Required. The resource being updated.
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder> + internalGetPrivateOfferDocumentFieldBuilder() { + if (privateOfferDocumentBuilder_ == null) { + privateOfferDocumentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder>( + getPrivateOfferDocument(), getParentForChildren(), isClean()); + privateOfferDocument_ = null; + } + return privateOfferDocumentBuilder_; + } + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000002); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) + private static final com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdatePrivateOfferDocumentRequest 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequestOrBuilder.java new file mode 100644 index 000000000000..324aa713f7e2 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferDocumentRequestOrBuilder.java @@ -0,0 +1,124 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface UpdatePrivateOfferDocumentRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOfferDocument field is set. + */ + boolean hasPrivateOfferDocument(); + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOfferDocument. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument getPrivateOfferDocument(); + + /** + * + * + *
+   * Required. The resource being updated.
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOfferDocument private_offer_document = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentOrBuilder + getPrivateOfferDocumentOrBuilder(); + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequest.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequest.java new file mode 100644 index 000000000000..62210d17aaef --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequest.java @@ -0,0 +1,1075 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +/** + * + * + *
+ * Message for updating a PrivateOffer
+ * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest} + */ +@com.google.protobuf.Generated +public final class UpdatePrivateOfferRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) + UpdatePrivateOfferRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdatePrivateOfferRequest"); + } + + // Use UpdatePrivateOfferRequest.newBuilder() to construct. + private UpdatePrivateOfferRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdatePrivateOfferRequest() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.Builder.class); + } + + private int bitField0_; + public static final int UPDATE_MASK_FIELD_NUMBER = 1; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + public static final int PRIVATE_OFFER_FIELD_NUMBER = 2; + private com.google.cloud.commerceproducer.v1beta.PrivateOffer privateOffer_; + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + @java.lang.Override + public boolean hasPrivateOffer() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer() { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOfferOrBuilder() { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getPrivateOffer()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPrivateOffer()); + } + 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest)) { + return super.equals(obj); + } + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest other = + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) obj; + + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (hasPrivateOffer() != other.hasPrivateOffer()) return false; + if (hasPrivateOffer()) { + if (!getPrivateOffer().equals(other.getPrivateOffer())) 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(); + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + if (hasPrivateOffer()) { + hash = (37 * hash) + PRIVATE_OFFER_FIELD_NUMBER; + hash = (53 * hash) + getPrivateOffer().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.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.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest 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.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for updating a PrivateOffer
+   * 
+ * + * Protobuf type {@code google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.class, + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.Builder.class); + } + + // Construct using + // com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUpdateMaskFieldBuilder(); + internalGetPrivateOfferFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + privateOffer_ = null; + if (privateOfferBuilder_ != null) { + privateOfferBuilder_.dispose(); + privateOfferBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.commerceproducer.v1beta.CommerceTransactionProto + .internal_static_google_cloud_commerceproducer_v1beta_UpdatePrivateOfferRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + getDefaultInstanceForType() { + return com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest build() { + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest buildPartial() { + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest result = + new com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.privateOffer_ = + privateOfferBuilder_ == null ? privateOffer_ : privateOfferBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) { + return mergeFrom( + (com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest other) { + if (other + == com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + .getDefaultInstance()) return this; + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + if (other.hasPrivateOffer()) { + mergePrivateOffer(other.getPrivateOffer()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetPrivateOfferFieldBuilder().getBuilder(), extensionRegistry); + 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 com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000001); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Optional. The list of fields to update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask.
+     * The special value "*" means full replacement.
+     * If unspecified, all fields present in the request will be overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + private com.google.cloud.commerceproducer.v1beta.PrivateOffer privateOffer_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + privateOfferBuilder_; + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + public boolean hasPrivateOffer() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer() { + if (privateOfferBuilder_ == null) { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } else { + return privateOfferBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOffer(com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOfferBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + privateOffer_ = value; + } else { + privateOfferBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setPrivateOffer( + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder builderForValue) { + if (privateOfferBuilder_ == null) { + privateOffer_ = builderForValue.build(); + } else { + privateOfferBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergePrivateOffer(com.google.cloud.commerceproducer.v1beta.PrivateOffer value) { + if (privateOfferBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && privateOffer_ != null + && privateOffer_ + != com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance()) { + getPrivateOfferBuilder().mergeFrom(value); + } else { + privateOffer_ = value; + } + } else { + privateOfferBuilder_.mergeFrom(value); + } + if (privateOffer_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearPrivateOffer() { + bitField0_ = (bitField0_ & ~0x00000002); + privateOffer_ = null; + if (privateOfferBuilder_ != null) { + privateOfferBuilder_.dispose(); + privateOfferBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder getPrivateOfferBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetPrivateOfferFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder + getPrivateOfferOrBuilder() { + if (privateOfferBuilder_ != null) { + return privateOfferBuilder_.getMessageOrBuilder(); + } else { + return privateOffer_ == null + ? com.google.cloud.commerceproducer.v1beta.PrivateOffer.getDefaultInstance() + : privateOffer_; + } + } + + /** + * + * + *
+     * Required. The resource being updated
+     * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder> + internalGetPrivateOfferFieldBuilder() { + if (privateOfferBuilder_ == null) { + privateOfferBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.commerceproducer.v1beta.PrivateOffer, + com.google.cloud.commerceproducer.v1beta.PrivateOffer.Builder, + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder>( + getPrivateOffer(), getParentForChildren(), isClean()); + privateOffer_ = null; + } + return privateOfferBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) + private static final com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest(); + } + + public static com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdatePrivateOfferRequest 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.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequestOrBuilder.java b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequestOrBuilder.java new file mode 100644 index 000000000000..25b342305aae --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/java/com/google/cloud/commerceproducer/v1beta/UpdatePrivateOfferRequestOrBuilder.java @@ -0,0 +1,123 @@ +/* + * Copyright 2026 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! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/commerceproducer/v1beta/commerce_transaction.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.commerceproducer.v1beta; + +@com.google.protobuf.Generated +public interface UpdatePrivateOfferRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask.
+   * The special value "*" means full replacement.
+   * If unspecified, all fields present in the request will be overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the privateOffer field is set. + */ + boolean hasPrivateOffer(); + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The privateOffer. + */ + com.google.cloud.commerceproducer.v1beta.PrivateOffer getPrivateOffer(); + + /** + * + * + *
+   * Required. The resource being updated
+   * 
+ * + * + * .google.cloud.commerceproducer.v1beta.PrivateOffer private_offer = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.commerceproducer.v1beta.PrivateOfferOrBuilder getPrivateOfferOrBuilder(); +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/commerce_transaction.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/commerce_transaction.proto new file mode 100644 index 000000000000..ac80e4be703a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/commerce_transaction.proto @@ -0,0 +1,677 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/commerceproducer/v1beta/private_offer.proto"; +import "google/cloud/commerceproducer/v1beta/service.proto"; +import "google/cloud/commerceproducer/v1beta/sku.proto"; +import "google/cloud/commerceproducer/v1beta/sku_group.proto"; +import "google/cloud/commerceproducer/v1beta/standard_offer.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "CommerceTransactionProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// APIs related to managing resources that model commercial transactions. +service CommerceTransaction { + option (google.api.default_host) = "commerceproducer.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; + + // Lists Services in a given project and location. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/services" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/services/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists PrivateOffers for the given parent. + rpc ListPrivateOffers(ListPrivateOffersRequest) + returns (ListPrivateOffersResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/privateOffers" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single PrivateOffer. + rpc GetPrivateOffer(GetPrivateOfferRequest) returns (PrivateOffer) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/privateOffers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new PrivateOffer in a given project and location. + rpc CreatePrivateOffer(CreatePrivateOfferRequest) returns (PrivateOffer) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*}/privateOffers" + body: "private_offer" + }; + } + + // Updates the target PrivateOffer. + rpc UpdatePrivateOffer(UpdatePrivateOfferRequest) returns (PrivateOffer) { + option (google.api.http) = { + patch: "/v1beta/{private_offer.name=projects/*/locations/*/privateOffers/*}" + body: "private_offer" + }; + option (google.api.method_signature) = "private_offer,update_mask"; + } + + // Publishes the target PrivateOffer. + rpc PublishPrivateOffer(PublishPrivateOfferRequest) returns (PrivateOffer) { + option (google.api.http) = { + post: "/v1beta/{name=projects/*/locations/*/privateOffers/*}:publish" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Cancels the target PrivateOffer. + rpc CancelPrivateOffer(CancelPrivateOfferRequest) returns (PrivateOffer) { + option (google.api.http) = { + post: "/v1beta/{name=projects/*/locations/*/privateOffers/*}:cancel" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Deletes the target PrivateOffer. + rpc DeletePrivateOffer(DeletePrivateOfferRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/privateOffers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists PrivateOfferDocuments for the given parent. + rpc ListPrivateOfferDocuments(ListPrivateOfferDocumentsRequest) + returns (ListPrivateOfferDocumentsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single PrivateOfferDocument. + rpc GetPrivateOfferDocument(GetPrivateOfferDocumentRequest) + returns (PrivateOfferDocument) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new PrivateOfferDocument in a given project and location. + rpc CreatePrivateOfferDocument(CreatePrivateOfferDocumentRequest) + returns (PrivateOfferDocument) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/privateOffers/*}/documents" + body: "private_offer_document" + }; + } + + // Updates the target PrivateOfferDocument. + rpc UpdatePrivateOfferDocument(UpdatePrivateOfferDocumentRequest) + returns (PrivateOfferDocument) { + option (google.api.http) = { + patch: "/v1beta/{private_offer_document.name=projects/*/locations/*/privateOffers/*/documents/*}" + body: "private_offer_document" + }; + option (google.api.method_signature) = "private_offer_document,update_mask"; + } + + // Deletes the target PrivateOfferDocument. + rpc DeletePrivateOfferDocument(DeletePrivateOfferDocumentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/privateOffers/*/documents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists StandardOffers for the given parent. + rpc ListStandardOffers(ListStandardOffersRequest) + returns (ListStandardOffersResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/services/*}/standardOffers" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single StandardOffer. + rpc GetStandardOffer(GetStandardOfferRequest) returns (StandardOffer) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/services/*/standardOffers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets details of a single Sku. + rpc GetSku(GetSkuRequest) returns (Sku) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/services/*/skus/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Skus for the given parent. + rpc ListSkus(ListSkusRequest) returns (ListSkusResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/services/*}/skus" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single SkuGroup. + rpc GetSkuGroup(GetSkuGroupRequest) returns (SkuGroup) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/skuGroups/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists SkuGroups for the given parent. + rpc ListSkuGroups(ListSkuGroupsRequest) returns (ListSkuGroupsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/skuGroups" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Controls which fields are returned in a PrivateOffer returned by the API. +// https://google.aip.dev/157 +enum PrivateOfferView { + // The default / unset value. + // The API will default to the BASIC view. + PRIVATE_OFFER_VIEW_UNSPECIFIED = 0; + + // Include basic metadata about the PrivateOffer, but not the full contents. + // This is the default value (for both List and Get requests). + PRIVATE_OFFER_VIEW_BASIC = 1; + + // Include everything. + PRIVATE_OFFER_VIEW_FULL = 2; +} + +// Controls which fields are returned in a StandardOffer returned by the API. +// https://google.aip.dev/157 +enum StandardOfferView { + // The default / unset value. + // The API will default to the BASIC view. + STANDARD_OFFER_VIEW_UNSPECIFIED = 0; + + // Include basic metadata about the StandardOffer, but not the full contents. + // This is the default value (for both List and Get requests). + STANDARD_OFFER_VIEW_BASIC = 1; + + // Include everything. + STANDARD_OFFER_VIEW_FULL = 2; +} + +// Controls which fields are returned in a Service returned by the API. +// https://google.aip.dev/157 +enum ServiceView { + // The default / unset value. + // The API will default to the BASIC view. + SERVICE_VIEW_UNSPECIFIED = 0; + + // Include basic metadata about the Service, but not the full contents. + // This is the default value (for both List and Get requests). + SERVICE_VIEW_BASIC = 1; + + // Include everything. + SERVICE_VIEW_FULL = 2; +} + +// Message for requesting list of PrivateOffers +message ListPrivateOffersRequest { + // Required. Parent value for ListPrivateOffersRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list response message. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters of the list request must match the + // request that returned the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter expression that matches a subset of resources to show. + // See https://google.aip.dev/160 for more details. + // Only supports filtering by: + // + // * `update_time`. Example: `update_time > "2012-04-21T11:30:00-04:00"`. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Ordering expression for sorting the results. + // See https://google.aip.dev/132#ordering for more details. + // If no value is present the default ordering is unspecified. + // Only supports ordering by: + // + // * `update_time` + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing PrivateOffers +message ListPrivateOffersResponse { + // The list of PrivateOffer + repeated PrivateOffer private_offers = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a PrivateOffer +message GetPrivateOfferRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. The view of the PrivateOffer to return. + // If unspecified, the default view is BASIC. + PrivateOfferView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for creating a PrivateOffer +message CreatePrivateOfferRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Required. The resource being created + PrivateOffer private_offer = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for updating a PrivateOffer +message UpdatePrivateOfferRequest { + // Optional. The list of fields to update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. + // The special value "*" means full replacement. + // If unspecified, all fields present in the request will be overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. The resource being updated + PrivateOffer private_offer = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Message for publishing a PrivateOffer +message PublishPrivateOfferRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. If set to `true`, validates the request but does not execute it. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for cancelling a PrivateOffer +message CancelPrivateOfferRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. Internal note relating to the cancellation. + // Stored on the cancelled offer. Not visible to customers. + string cancellation_note = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a PrivateOffer +message DeletePrivateOfferRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. Indicates whether to cascade the delete to child resources. + // If false, the request fails if child resources exist. + bool force = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of PrivateOfferDocuments +message ListPrivateOfferDocumentsRequest { + // Required. Parent value for ListPrivateOfferDocumentsRequest. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/PrivateOfferDocument" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list response message. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters of the list request must match the + // request that returned the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing PrivateOfferDocuments +message ListPrivateOfferDocumentsResponse { + // The list of PrivateOfferDocuments. + repeated PrivateOfferDocument private_offer_documents = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a PrivateOfferDocument +message GetPrivateOfferDocumentRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOfferDocument" + } + ]; +} + +// Message for creating a PrivateOfferDocument. +message CreatePrivateOfferDocumentRequest { + // Required. Value for parent. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/PrivateOfferDocument" + } + ]; + + // Required. The resource being created. + PrivateOfferDocument private_offer_document = 3 + [(google.api.field_behavior) = REQUIRED]; +} + +// Message for updating a PrivateOfferDocument +message UpdatePrivateOfferDocumentRequest { + // Required. The resource being updated. + PrivateOfferDocument private_offer_document = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The list of fields to update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. + // The special value "*" means full replacement. + // If unspecified, all fields present in the request will be overwritten. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for deleting a PrivateOfferDocument +message DeletePrivateOfferDocumentRequest { + // Required. Name of the resource. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOfferDocument" + } + ]; +} + +// Message for requesting list of Services +message ListServicesRequest { + // Required. Parent value for ListServicesRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/Service" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Services +message ListServicesResponse { + // The list of Service + repeated Service services = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a Service +message GetServiceRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Service" + } + ]; + + // Optional. The view of the Service to return. + // If unspecified, the default view is BASIC. + ServiceView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of StandardOffers +message ListStandardOffersRequest { + // Required. Parent value for ListStandardOffersRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/StandardOffer" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list response message. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters of the list request must match the + // request that returned the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filter expression that matches a subset of resources to show. + // See https://google.aip.dev/160 for more details. + // Supports filtering by: + // + // * `effective_time`. + // Example: `effective_time > "2012-04-21T11:30:00-04:00"`. + // * `expire_time`. Example: `expire_time < "2026-05-06T00:00:00Z"`. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Ordering expression for sorting the results. + // See https://google.aip.dev/132#ordering for more details. + // If no value is present the default ordering is unspecified. + // Supports ordering by: + // + // * `effective_time` + // * `expire_time` + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing StandardOffers +message ListStandardOffersResponse { + // The list of StandardOffer + repeated StandardOffer standard_offers = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a StandardOffer +message GetStandardOfferRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/StandardOffer" + } + ]; + + // Optional. The view of the StandardOffer to return. + // If unspecified, the default view is BASIC. + StandardOfferView view = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for requesting list of Skus +message ListSkusRequest { + // Required. Parent value for ListSkusRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/Sku" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list response message. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters of the list request must match the + // request that returned the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Skus +message ListSkusResponse { + // The list of Sku + repeated Sku skus = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Message for getting a Sku +message GetSkuRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Sku" + } + ]; +} + +// Message for getting a SkuGroup +message GetSkuGroupRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/SkuGroup" + } + ]; +} + +// Message for requesting list of SkuGroups +message ListSkuGroupsRequest { + // Required. Parent value for ListSkuGroupsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/SkuGroup" + } + ]; + + // Optional. Maximum results to return. The service may return fewer than this + // value. The maximum value is 500; values above 500 will be coerced to 500. + // If unspecified, the server will default to the maximum. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous list response message. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters of the list request must match the + // request that returned the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing SkuGroups +message ListSkuGroupsResponse { + // The list of SkuGroup + repeated SkuGroup sku_groups = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/private_offer.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/private_offer.proto new file mode 100644 index 000000000000..a74fe6406b08 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/private_offer.proto @@ -0,0 +1,1135 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/datetime.proto"; +import "google/type/decimal.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "PrivateOfferProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// Message describing PrivateOffer resource. +// +// Note on OPTIONAL fields: To facilitate saving incomplete draft offers, most +// fields are categorized as OPTIONAL irrespective of whether they are necessary +// for a private offer to be valid. Many fields labeled OPTIONAL must be set to +// publish the offer. +message PrivateOffer { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + pattern: "projects/{project}/locations/{location}/privateOffers/{private_offer}" + plural: "privateOffers" + singular: "privateOffer" + }; + + // Information about the Google review process. + message PublishRequirementGoogleReview { + // Output only. The approval time of the Google review process. + google.protobuf.Timestamp review_approve_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Contact information for a reseller. + message ResellerContact { + // Output only. The name of the reseller contact for this offer. + string contact = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email of the reseller contact for this offer. + string email = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Contact information for the partner representative. + message PartnerContact { + // Optional. Display text identifying the partner sales contact. + // Displayed to the customer. + // Must be provided when publishing the offer. + // Maximum length: 256 characters. + string contact = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The email address of the partner sales contact. + // Displayed to the customer. + // The format of the provided email address is validated when publishing the + // offer, but no verification is performed that the email address actually + // exists, accepts email, or is otherwise functional. + string email = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Information about the customer. + message Customer { + // Optional. A string identifying the customer's entity (for example, the + // customer's organization or company name). Must be provided when + // publishing the offer. Maximum length: 256 characters. + string entity_title = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A string identifying the customer contact. + // Must be provided when publishing the offer. + // Maximum length: 256 characters. + string contact = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Email of customer contact. + // If provided, it must be a well-formed email address. + string email = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Legal address of the customer organization. + // This field can no longer be set, but it is preserved to return the + // data from existing offers where address is set. + string address = 4 + [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The customer's billing account targeted by the offer. + // The private offer once published can be accepted by a billing + // administrator of the target billing account. If the customer accepts the + // offer and later moves the resulting order to a new billing account, this + // field will continue to reflect the original billing account to which the + // private offer was extended. Must be provided when publishing the offer. + // + // To publish this private offer: + // + // * The billing account must exist. + // * The billing account must not be in a free trial. + // * The billing account must comply with Marketplace Reselling Policies. + // * Reseller parent billing accounts are prohibited. Reseller subaccounts + // are prohibited unless the service is enabled for reselling. + // + // Format: billingAccounts/012345-567890-ABCDEF + string target_billing_account = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "cloudbilling.googleapis.com/BillingAccount" + } + ]; + } + + // Configurations for the offer term and renewal options. + // Extending a private offer to a customer that covers a given term + // constitutes a guarantee to the customer that the product will remain + // available to them for the duration of the term. + message Term { + // Defines when an offer should start. + enum StartPolicy { + // Default value. This value is unused. + START_POLICY_UNSPECIFIED = 0; + + // The resulting order starts immediately upon the customer's acceptance + // of the offer, if no partner approval is required, or else immediately + // after the partner approves the purchase if order approval is required. + // This enum value cannot be combined with `term.scheduled_start_time`. + IMMEDIATE = 1; + + // The resulting order starts at the scheduled start time. + SCHEDULED_START_TIME = 2; + } + + // Defines when an offer should end. + enum EndPolicy { + // Default value. This value is unused. + END_POLICY_UNSPECIFIED = 0; + + // Offer ends after the specified duration. + // If this is set, then `duration_months` must be positive. + AFTER_DURATION = 1; + + // Offer ends at the schduled time. + SCHEDULED_END_TIME = 2; + + // Offer coterms to the amended offer - the offer ends at the end of the + // amended offer's term + // + // For example, if the amended offer starts on 01/15/24, and has a + // duration of 6 months, then it ends on 07/15/24. If the current offer + // coterms to the previous offer, and the current offer starts on + // 05/06/24, then it will still end on 07/15/24. Assuming the current + // offer renews 3 times, then the terms on the current offer will be: + // + // 1. 05/06/24 - 07/15/24 (First term, ends on 07/15 to coterm with the + // amended offer) + // 2. 07/15/24 - 01/15/25 (First renewal term) + // 3. 01/15/25 - 07/15/25 (Second renewal term) + // 4. 07/15/25 - 01/15/26 (Third renewal term) + // + // As a contrast, if the current offer does not coterm with the amended + // offer (such as when `end_policy` is `AFTER_DURATION`), then the + // terms will be: + // + // 1. 05/06/24 - 11/06/24 (First term, ends on 11/06, no coterming) + // 2. 11/06/24 - 05/06/25 (First renewal term) + // 3. 05/06/25 - 11/06/25 (Second renewal term) + // 4. 11/06/25 - 05/06/26 (Third renewal term) + // + // If this is set, then the following conditions must be met: + // + // * `single_product_offer.amended_private_offer` must be set, and the + // amended private offer must not be ended. + // * The proration policy must not change (e.g., you cannot switch + // between `MONTHLY_PRORATED` and `MONTHLY_NOT_PRORATED`). + // * The current offer must not have custom intervals (where + // `custom_interval_price` is set). + // * `term.duration_months` must match the amended private offer's + // duration. + // * The amended private offer must not have a standard interval + // of `MONTHLY_POSTPAY`. + // + // This is currently not supported. + MATCH_AMENDED_OFFER = 3; + } + + // Extra data for the end policy. + oneof end_policy_data { + // Optional. Duration in months of the offer term. + // The offer will end on the same day of the month after this duration. If + // that date is not available, the offer will end on the last day of the + // month. For example, if the offer starts on 01/31/2024 and the duration + // is 13 months, the offer will end on 02/28/2025. + // Must be set to publish the offer if the end policy is `AFTER_DURATION` + // or `MATCH_AMENDED_OFFER`, and must be a positive value. + // + // The maximum possible offer duration, including all renewal terms, + // cannot exceed 7 years. For example, if `duration_months` is 9 and + // `term.max_renewal_count` is 9, then the maximum possible offer duration + // is 90 months and exceeds the 7 year limit. + int32 duration_months = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specified end time of the offer. + // Must be set to publish the offer if the end policy is + // `SCHEDULED_END_TIME`. + // When set, the time must be in the future and at a day boundary in the + // America/Los_Angeles time zone, and must be after + // `term.scheduled_start_time` if applicable. + google.type.DateTime scheduled_end_time = 5 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Defines the renewal policy for the offer. + oneof renewal { + // Optional. The max number of renewals allowed, after the initial term + // ends. This field is only relevant to standard interval offers with + // interval of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + // 'QUARTERLY_NOT_PRORATED' or 'YEARLY_NOT_PRORATED'. Other types of + // offers cannot be renewed. + // + // For example, if the initial term is 1 year and the max renewals is 3, + // the customer can renew the offer for up to 3 additional years after the + // initial term ends. Customers control whether they renew the offer. + // + // Allowing a customer to renew an offer does not constitute a guarantee + // to the customer that the offered product will still be available to be + // renewed at the renewal date. + // + // An offer with a max renewal count of 0 cannot be renewed. + // Must be non-negative. + int32 max_renewal_count = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. Deprecated: This field can only be true on existing offers + // with standard interval of 'MONTHLY_POSTPAY'. As of May 2024, we no + // longer allow unlimited renewals. + bool unlimited_renewal = 7 + [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Optional. Defines when the resulting order should start. + // Must be set when publishing the offer. + StartPolicy start_policy = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The scheduled start time of the offer. Cannot exceed one year + // from the time of publish. + // + // If the start policy is `SCHEDULED_START_TIME`, a future time at a day + // boundary in the America/Los_Angeles time zone must be provided when + // publishing the offer. + // + // If the offer amends another private or standard offer, then the + // scheduled start time must be: + // + // * Before or equal to the amended offer's end time if the offer's + // end policy is not MATCH_AMENDED_OFFER. Otherwise, it has to be + // strictly before the amended offer's end time. + // * Before or equal to the start time of the next pending installment of + // the amended offer, if amending a private offer with custom + // installments. For example, if the amended offer has installments on + // 01/01, 02/01, 03/01, 04/01, and today is 02/15, then the new offer's + // `scheduled_start_time` must be at or before 03/01. + google.type.DateTime scheduled_start_time = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Defines when an offer should end. + // Must be set when publishing the offer. + EndPolicy end_policy = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Configurations for the offer that is associated with a single product. + message SingleProductOffer { + // Additional details used to describe customization of the service level. + // + // Features are used to distinguish service levels of the same product. + // When a product has a single service level, all details can be contained + // in the product documentation. When a product has multiple service levels, + // each service level can be assigned a distinct set of features to + // distinguish the key differences between the service levels. + // + // In addition to customizing pricing and other transaction details, a + // private offer may include customization of partner-managed product + // behavior. When this is the case, the details of the custom behavior are + // described using features. + message Feature { + // Optional. Human readable display text characterizing the feature. + // Should be sufficiently detailed to identify the feature, allowing + // features to be correlated across separate offers and service levels. + // Must be non-empty to publish the offer. + // The maximum allowed length is 128 characters. + // Allows characters from the following Unicode Property Classes: + // Letters, Numbers, Punctuation, Symbols, and Separators + string display_name = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Human readable display text reflecting the value of the + // feature. Used for variable features not captured by the display_name + // alone. The maximum allowed length is 3000 characters. Allows characters + // from the following Unicode Property Classes: Letters, Numbers, + // Punctuation, Symbols, and Separators + string value = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The price model of the private offer. + // + // Private offers are referred to as having different kinds of price models + // based on the combination of fields set in the price model. The following + // terminology is used in documentation and other reference material. + // + // * Usage-based: the price model does not set `flat_fee` + // * Usage-only: the price model sets only `usage` + // * CUD (committed use discount): the price model sets `commitment` + // * Commitment discount with additional usage at list price: + // The price model sets `commitment` and not `usage`. + // * Commitment with all usage discounted: The price model sets + // `commitment` and `usage`. + // * Flat fee: the price model sets only `flat_fee` + // * Flat fee with usage: the price model sets `flat_fee` and `usage` + // + // See + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-pricing-model#CUD + // for the price models. + message PriceModel { + // The discount for a specific SKU. + message SkuDiscount { + // Required. The SKU to which the discount applies. + oneof target { + // Optional. The name of a partner SKU from this API. + // + // Must refer to a SKU in the price model of the base standard offer. + // Inclusion in the base price model can occur either directly or + // indirectly via inclusion in an included SkuGroup. + // + // Currently, standard offer price models include only partner SKUs + // in the same project as the standard offer. This may change. + // + // Format: + // projects/{project}/locations/{location}/services/{service}/skus/{sku} + string sku = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Sku" + } + ]; + + // Optional. The name of a Google SKU from the Cloud Billing API. + // + // Used for partner products sold by Google, such as Premium Operating + // System Images sold for use in Compute Engine. This is not common. + // SKUs of this type are not present on this API and can instead be + // found on the Cloud Billing API or at https://cloud.google.com/skus. + // + // Must refer to a SKU in the price model of the base standard offer. + // Google SKUs are always referenced in standard offers via SkuGroups. + // + // Format: services/{service}/skus/{sku} + string cloud_billing_sku = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // The discount for the SKU. + oneof discount { + // Optional. The discount percent for the SKU. + // For example, `10` means a discount of 10%. If the original SKU + // price is $100/hour then the discounted price will be $90/hour. + // + // Must be between 0 and 100 inclusive, with precision up to 2 decimal + // places. If this field is set, then the allowed pattern for 'value' + // is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + // + // Examples of valid values: "0", "100.0", "12.34", "40.0". + // Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", + // and "". + // Must be present to publish the offer. + google.type.Decimal discount_percent = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + } + + // The price for the usage SKUs. + message Usage { + // Optional. The default discount percent for usage SKUs. + // An unset default discount percent is equivalent to 0 (no discount). + // + // Must be between 0 and 100 inclusive, with precision up to 2 decimal + // places. If this field is set, then the allowed pattern for 'value' + // is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + // Examples of valid values: "0", "100.0", "12.34", "40.0". + // Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + google.type.Decimal default_discount_percent = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The discounts for the specific SKUs that override the + // `default_discount_percent`. + repeated SkuDiscount sku_discounts = 2 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The price configurations for the flat fee subscriptions. + message FlatFee { + // Optional. Flat fee overriding the default flat fee in the base + // standard offer. Value cannot be negative. The currency must be "USD" + // and precision is limited to cents. Must be present to publish the + // offer, if the parent message is set. The maximum allowed value is + // 1,000,000,000 USD. + google.type.Money flat_fee_override = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The price configurations for the commitment based subscriptions. + message Commitment { + // Optional. The commitment balance that the customer will receive. + // Value cannot be negative. + // The currency must be "USD" and precision is limited to cents. + // Must be present to publish the offer, if the parent message is set. + // The maximum allowed value is 1,000,000,000 USD. + // + // If the current offer amends a private offer where the term has not + // ended, and if the field + // `single_product_offer.standard_interval_price.price_model.commitment.commitment_amount` + // is set on both the current offer and the amended private offer, then + // the commitment amount must be equal or higher on the current offer, + // compared to the amended private offer. + google.type.Money commitment_amount = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The discount percent on `commitment_amount`. + // + // For example, `10` means a discount of 10%. If the original + // `commitment_amount` is $100 then the discounted amount will be $90. + // The customer is charged $90 and receives $100 in credits. + // + // All reported usage will be charged at the standard price. + // If this field is set, the `price_model.usage` must be unset. A + // private offer can apply a discount to all usage or to a usage + // commitment, but not both. + // + // Must be between 0 and 100 inclusive, with precision up to 2 decimal + // places. If this field is set, then the allowed pattern for 'value' + // is `^([0-9]{1,2}(\\.\\d{1,2})?|100(\\.0{1,2})?)$`. + // Examples of valid values: "0", "100.0", "12.34", "40.0". + // Example of invalid values: ".3", "-1", "100.1", "12.345", "+12", "". + // + // Must be present to publish the offer. + google.type.Decimal discount_percent = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Additional credit granted to the customer. + // Additional credits are only supported for custom interval offers. + // Equivalent behavior can be achieved for standard interval offers by + // varying the `commitment_amount` and `discount_percent`. + // + // Value cannot be negative. + // The currency must be "USD" and precision is limited to cents. + // The maximum allowed value is 1,000,000 USD. + google.type.Money additional_credit = 3 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to discard the previous credit balance when the + // associated installment starts. If not set, the previous credit + // balance will be rolled over to the current installment. + // + // If there are no previous installments, then the value of this field + // will not matter - since it has no effect when no credits exist. + bool discard_previous_credit_balance = 4 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The price configurations for the subscription part. + oneof subscription { + // Optional. The price configurations for the flat fee subscription. + // Must be unset when the base standard offer's price model does not + // include subscription SKUs. + FlatFee flat_fee = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The price configurations for the commitment based + // subscription. Must be unset when the base standard offer's price + // model includes subscription SKUs. + Commitment commitment = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The price configurations for the usage part. + // If this field is set, the `Commitment.discount_percent` must be unset. + // A private offer can apply a discount to all usage or to a usage + // commitment, but not both. + // Must be unset when the base standard offer's price model includes no + // usage SKUs. + Usage usage = 1 [(google.api.field_behavior) = OPTIONAL]; + } + + // Price configurations for offers with standard intervals. + message StandardIntervalPrice { + // The options for offers with standard intervals. + enum StandardInterval { + // The private offer does not have an interval. + // If this is set, then the offer is "usage-only". + // Field `term.duration_months` must be positive. + STANDARD_INTERVAL_UNSPECIFIED = 0; + + // The schedule of the monthly postpay offers. + // This type of offer has "Monthly" billing frequency (see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + // No longer supported as of May 2024. Cannot be used to publish + // new offers. + MONTHLY_POSTPAY = 1 [deprecated = true]; + + // Monthly installments with proration. + // This type of offer has "Monthly" billing frequency (see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + // For example, if the offer starts on 04/15, and the offer duration is + // 3 months, the following installments will be created: + // # 1: from 04/15 to 05/01, at the prorated price for April. + // + // # 2: from 05/01 to 06/01, at the full monthly price for May. + // + // # 3: from 06/01 to 07/01, at the full monthly price for June. + // + // # 4: from 07/01 to 07/15, at the prorated price for July. + // + // All dates represent the start of that day in the America/Los_Angeles + // time zone. + // + // If this is set: + // + // * The `PriceModel.subscription` oneof must be set. + // * Field `term.duration_months` must be positive. + MONTHLY_PRORATED = 2; + + // Monthly installments without proration. + // This type of offer has "Monthly" billing frequency (see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + // For example, if the offer starts on 04/15, and the offer duration is + // 3 months, the following installments will be created: + // # 1: from 04/15 to 05/15, at the full monthly price. + // + // # 2: from 05/15 to 06/15, at the full monthly price. + // + // # 3: from 06/15 to 07/15, at the full monthly price. + // + // All dates represent the start of that day in the America/Los_Angeles + // time zone. + // + // If this is set: + // + // * The `PriceModel.subscription` oneof must be set. + // * Field `term.duration_months` must be positive. + MONTHLY_NOT_PRORATED = 3; + + // Quarterly installments which are not prorated. + // This type of offer has "Quarterly" billing frequency (see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + // For example, if the offer starts on 01/15, and the offer duration is + // 3 quarters, the following installments will be created: + // # 1: from 01/15 to 04/15, at the full quarterly price. + // + // # 2: from 04/15 to 07/15, at the full quarterly price. + // + // # 3: from 07/15 to 10/15, at the full quarterly price. + // + // All dates represent the start of that day in the America/Los_Angeles + // time zone. + // + // If this is set: + // + // * The `PriceModel.subscription` oneof must be set. + // * Field `term.duration_months` must be positive. + QUARTERLY_NOT_PRORATED = 4; + + // Yearly installments which are not prorated. + // This type of offer has "Yearly" billing frequency (see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule). + // For example, if the offer starts on 01/15/2025, and the offer + // duration is 3 years, the following installments will be created: + // # 1: from 01/15/2025 to 01/15/2026, at the full yearly price. + // + // # 2: from 01/15/2026 to 01/15/2027, at the full yearly price. + // + // # 3: from 01/15/2027 to 01/15/2028, at the full yearly price. + // + // All dates represent the start of that day in the America/Los_Angeles + // time zone. + // + // If this is set: + // + // * The `PriceModel.subscription` oneof must be set. + // * Field `term.duration_months` must be positive. + YEARLY_NOT_PRORATED = 5; + } + + // Optional. The standard interval of the offer. + // Must be present to publish unless the price model is usage-only. + StandardInterval standard_interval = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The price model of the offer. + // Must be present to publish the offer. + PriceModel price_model = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // An installment of the offer. + message Installment { + // Optional. The start time of the installment. + // Each installment must have a unique start time with one exception: + // When the `term.start_policy` of the offer's term is `IMMEDIATE`, + // the `start_time` of the first installment must be unset. + // The actual start time is not recorded in the offer and instead is + // determined by the time the resulting order became active. + // + // When the `term.start_policy` of the offer's term is + // `SCHEDULED_START_TIME`, then the first installment's `start_time` must + // match `term.scheduled_start_time`. + // + // If the `term.end_policy` of the offer's term is `SCHEDULED_END_TIME`, + // then installment `start_time` must be before `term.scheduled_end_time`. + // If it's `AFTER_DURATION`, then installment `start_time` must be before + // the time calculated by adding the `term.duration_months` to + // the start time of the offer. + // + // The `start_time` of the installments cannot be before the + // `accept_deadline_time` of the offer. + // + // Installment start times must be in strictly increasing chronological + // order. + google.type.DateTime start_time = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The price model of the installment. + // All installments must have the same form of price model. + PriceModel price_model = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // Price configurations for offers with custom intervals. + message CustomIntervalPrice { + // Optional. The installments that make up the installment timeline. + // All installments must have the same form of price model (e.g. + // all commitment, or all flat fee). A subscription must be present + // under the price model for every installment. + // + // Must contain at least one installment to publish the offer. + repeated Installment installments = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // The contract value of the offer. + message ContractValue { + // Output only. The total contract value of the offer. + // This will be set for all non-draft private offers, as long as + // 'PRIVATE_OFFER_VIEW_FULL' is requested. For DRAFT private offers, + // this will be populated only when the end user's billing account is + // set and when the pricing and term configuration is sufficiently + // complete to allow for a calculation. + google.type.Money total_contract_value = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Revenue Share information for a Private Offer. + // For more details about the revenue share, including how the value is + // determined, see + // https://docs.cloud.google.com/marketplace/docs/partners/revenue-share-scenarios. + // + // Not included for `PRIVATE_OFFER_VIEW_BASIC`, or for DRAFT private offers. + // + // For non-draft private offers, these fields are populated based on the + // following: + // + // * Offers published after April 20, 2025 will always have revenue + // share fields populated. + // * Offers published on or before April 20, 2025 will only have revenue + // share fields populated if they were associated with an active, + // unexpired order on that date. + message RevenueShare { + // Output only. The revenue share currently in effect. + // + // The range of the value is between 0 and 100. For example, 80 + // means the Vendor's current term revenue share is 80%. The vendor + // will keep 80% of the revenue. + // . + google.type.Decimal current_term_vendor_net_revenue_percent = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The expected revenue share for the renewal term. + // Not included if the offer does not have renewal terms. + // + // The range of the value is between 0 and 100. For example, 80 + // means the Vendor's current term revenue share is 80%. The vendor + // will keep 80% of the revenue after renewal. + // . + google.type.Decimal renewal_term_vendor_net_revenue_percent = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // An existing offer to be superseded by this private offer. + oneof amended_offer { + // Optional. An existing private offer that will be superseded by this + // offer. Unless the private offer is for a product type that supports + // [multiple active + // orders](https://cloud.google.com/marketplace/docs/partners/offers/multiple-offers), + // an amendment private offer must be transacted if and only if the + // destination customer billing account already contains an active order + // for the same product. The offer to be superseded must be the offer + // associated with an active order. + // + // Amendments generally fall into one of two scenarios: + // + // 1. **Active Order / Ended Offer**: The term of the amended offer has + // ended but it is still associated with an active order. The new + // offer must amend the ended private offer. + // 2. **Active Order / Active Offer**: The term of the amended offer is + // still active and the associated order is active. Similar to above, + // the new offer must amend the currently active offer (unless + // "multiple active orders" are supported). + // + // If this is set, then the `base_standard_offer` parent service must + // match the parent service of the `base_standard_offer` in the + // `amended_private_offer`. + // + // **Active Term Restrictions**: + // If the term of the amended private offer has *NOT* ended, then the + // following compatibility rules apply: + // + // * **Price Model Compatibility**: + // * Flat Fee (with or without usage) offers can amend Flat Fee + // offers. + // * Usage-only or CUD offers can amend usage-only offers. + // * Commitment-based offers must amend offers of the same price + // model subtype (e.g., "additional usage at list price" vs "all + // usage discounted"). + // * **Billing Frequency Compatibility**: Determined by + // `standard_interval` or `custom_interval_price`. + // * If the amended offer has a custom billing frequency, the new + // offer must also have a custom frequency. + // * If the amended offer has a standard frequency (Monthly, + // Quarterly, or Yearly), the new offer must maintain the same + // frequency or transition to a custom frequency. + // * Switching between different standard frequencies (e.g., Monthly + // to Quarterly) is not supported. + // * For Monthly frequency, switching between `MONTHLY_PRORATED` + // and `MONTHLY_NOT_PRORATED` is supported, unless the offer's + // `term.end_policy` is `MATCH_AMENDED_OFFER`. + // * For usage-only offers, there are no billing frequency + // restrictions. + // + // Other criteria for offer amendment are detailed elsewhere. + string amended_private_offer = 3 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/PrivateOffer" + } + ]; + + // Optional. An existing standard offer that will be superseded by this + // offer. An amendment private offer must be transacted if the destination + // customer billing account already contains an active order for the same + // product, and otherwise cannot be transacted. The offer to be superseded + // must be the offer associated with the active order. + // + // If this is set, then the `base_standard_offer` must contain the same + // parent service as the parent service of the `amended_standard_offer`. + // The price model of this offer must be compatible with the price model + // of the `amended_standard_offer`: + // + // * Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat + // Fee with usage standard offers. + // * Usage-only offers, or CUD offers can amend usage-only standard + // offers. + // + // Other criteria for offer amendment are detailed elsewhere. + string amended_standard_offer = 4 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/StandardOffer" + } + ]; + } + + // The price of the offer. + // A price must be set when publishing the offer. + oneof price { + // Optional. Price configurations for offers with standard intervals. + // A price must be set when publishing the offer. + StandardIntervalPrice standard_interval_price = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Price configurations for offers with custom intervals. + // Custom interval corresponds to "custom billing frequency", + // see + // https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule. + // A price must be set when publishing the offer. + CustomIntervalPrice custom_interval_price = 6 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The StandardOffer this PrivateOffer is based on. + // Must be in the same project as the private offer, and must be effective + // at the time of publishing. Must be present to publish the offer. + // + // Format: + // projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer} + string base_standard_offer = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/StandardOffer" + } + ]; + + // Output only. The service level (also known as the 'plan') of the base + // standard offer. The value is populated at publish time from the base + // standard offer. + string service_level = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Present for offers created by a reseller from a reseller + // private offer plan (RPOP). When set, contains the ID of the originating + // RPOP. Not included for `PRIVATE_OFFER_VIEW_BASIC`. + string reseller_private_offer_plan_id = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The custom product features to display for this offer. + // Feature `display_name` values must be unique to publish the offer. + // The set of features specified here should generally include all features + // included in the base service level, with optionally customized values, + // but is not required to match exactly and may include additional features. + repeated Feature features = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The effective installment timeline of the offer. + // Not included for `PRIVATE_OFFER_VIEW_BASIC`. + // Included for `PRIVATE_OFFER_VIEW_FULL` if all necessary information is + // available to generate the timeline, and if the offer has + // 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', + // 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'. + repeated Installment effective_installment_timeline = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Contract value of the offer. + // Not included for `PRIVATE_OFFER_VIEW_BASIC`. + ContractValue contract_value = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Revenue share information for this Private Offer. + // Not included for `PRIVATE_OFFER_VIEW_BASIC`. + RevenueShare revenue_share = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // State of an offer. + enum State { + // Default value. This value is unused. + STATE_UNSPECIFIED = 0; + + // The default state after creation when the offer can be edited. + // In all other states, the contents of the offer cannot be edited. + DRAFT = 1; + + // The offer is publishing. + // Publishing will complete when all publishing requirements are satisfied. + PUBLISHING = 2; + + // The offer has been published and is available to the customer to accept. + PUBLISHED = 3; + + // The offer has been accepted by the customer. + ACCEPTED = 4; + + // The offer was cancelled by the provider before it was transacted. + // Cancelled offers can no longer be accepted by the customer. + CANCELLED = 5; + + // The offer expired without being accepted by the customer. + // Expired offers can no longer be accepted by the customer. + EXPIRED = 6; + + // The offer has ended. + // + // Ended offers were accepted and active in the past, but have now reached + // the end of their term or have been terminated. + ENDED = 7; + } + + // The type of the deal transacted with the offer. The deal type of an offer + // is a factor in determining the offer's revenue share. + enum OfferDealType { + // Default value. This value is unused. + OFFER_DEAL_TYPE_UNSPECIFIED = 0; + + // The offer corresponds to a preexisting commercial arrangement for a + // workload on Google Cloud that is being transferred to the Cloud + // Marketplace. + CHANNEL_SHIFT = 1; + + // The offer corresponds to a preexisting commercial arrangement for a + // workload previously not on Google Cloud that is being transferred to + // Google Cloud. + MIGRATION = 2; + + // The offer corresponds to a renewal of a deal initially transacted on + // the Google Cloud Marketplace. + NATIVE_RENEWAL = 3; + + // The offer corresponds to a new deal transacted on the Google Cloud + // Marketplace. + // + // This value is not allowed if the offer amends another private offer + // where the term has not ended, and the amended private offer has a deal + // type of `MIGRATION`, `CHANNEL_SHIFT` or `NATIVE_RENEWAL`. + NEW = 4; + } + + // The content for the offer. + // Additional forms of content may be supported in future. + // To publish the offer a content value must be provided. + oneof content { + // Optional. Configurations for the offer that is associated with a single + // product. + SingleProductOffer single_product_offer = 12 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. Name of the resource. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The state of the private offer. + State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Information about the Google review process. + // Present only when the offer is determined to require review by Google. + PublishRequirementGoogleReview publish_requirement_google_review = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the offer transitioned to PUBLISHED state. + google.protobuf.Timestamp publish_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the offer transitioned to ACCEPTED state. + google.protobuf.Timestamp accept_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the offer transited to CANCELLED state. + google.protobuf.Timestamp cancel_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the offer ended. This can only be set for offers + // with `ENDED` state. + google.protobuf.Timestamp end_time = 22 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Internal note supplied when the offer was cancelled. + // Present only for cancelled offers and only if a note was supplied. + string cancellation_note = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Information about the reseller contact. + // Present only for offers created by a reseller. + ResellerContact reseller_contact = 20 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. Unstructured text content that is not visible to the customer. + // Intended to be used by partners for storing notes about the private offer. + // Maximum length: 1500 characters. + string internal_note = 16 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The type of the deal transacted with the offer. + // + // The deal type is not visible to customers. + // + // Must be present to publish the offer. + OfferDealType offer_deal_type = 21 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A title that describes the offer and helps your customers + // identify it. This title will be visible to the customer. Maximum length: + // 256 characters. Must be present to publish the offer. + string title = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Unstructured text content that is visible to the customer. + // Maximum length: 120 characters. + string customer_note = 17 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Information about the partner contact. + // Must be provided when publishing the offer. + PartnerContact partner_contact = 14 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Information identifying the intended recipient of the offer. + // Must be provided when publishing the offer. + Customer customer = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Deadline for acceptance of published offers. + // A published offer not accepted by this time will expire. + // Only day boundaries in the America/Los_Angeles time zone are supported. + // Must be present to publish the offer. + // + // When publishing an offer the deadline must be set to a time in the future + // not more than 3 months from the time of publishing. For example, if the + // offer is published on 03/05 at 1PM, then the deadline must be at or before + // 06/05 12AM America/Los_Angeles time. + // + // The deadline must also be: + // + // * Before or equal to the scheduled start time of this offer (if + // `term.scheduled_start_time` is set and the term's start policy is + // `SCHEDULED_START_TIME`). + // * Before or equal to the scheduled end time of this offer, if + // `term.scheduled_end_time` is set and the term's end policy is + // `SCHEDULED_END_TIME`. + // * Before or equal to the upcoming installment start times on this offer. + // * Before or equal to the amended offer's end time, if the offer amends + // another private or standard offer. + // * Before or equal to the start time of the next pending installment of the + // amended offer, if amending a private offer with custom installments. For + // example, if the amended offer has installments on 01/01, 02/01, 03/01, + // 04/01, and today is 02/15, then this offer's `accept_deadline_time` + // must be at or before 03/01. + // + // In addition, if the offer amends another private offer, but there is + // already an accepted upcoming amendment against that private offer, then + // this deadline must be before or equal to the start time of the accepted + // upcoming offer. + // For example, today is 02/15, and this offer (offer C) amends private offer + // A, and private offer B has already been accepted which also amends private + // offer A. Private offer B has a start time of 03/01. Then this deadline + // must be at or before 03/01. Otherwise, on 03/01, private offer B would + // take effect, superseding offer A. This would mean offer C is no longer + // amending the currently active offer (Offer A), which is required for + // valid amendments. + // + // Once the offer is published, this field is still updatable to extend the + // deadline of the offer. However, the extension is still limited to be + // at most 3 months from the time of publishing. + google.type.DateTime accept_deadline_time = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Configuration for the offer term. + // Must be set when publishing the offer. + Term term = 15 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message describing the PrivateOfferDocument resource. +// Used to attach documents to a private offer in state DRAFT. +// Once a private offer is no longer in state DRAFT, the set of child documents +// is immutable. Existing documents cannot be updated or deleted, and new +// documents cannot be added. +// +// A private offer must include a EULA, either by assigning a standard EULA +// or attaching a custom EULA document, or a statement of work document. +message PrivateOfferDocument { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/PrivateOfferDocument" + pattern: "projects/{project}/locations/{location}/privateOffers/{private_offer}/documents/{document}" + plural: "privateOfferDocuments" + singular: "privateOfferDocument" + }; + + // Supported types of documents. + // Additional document types may be added in future. Further editions of the + // Google Cloud Marketplace Standard EULA may be published in future, which + // may result in changes to the subset of Standard EULA versions permitted + // to be used in new offers. + enum DocumentType { + // The default / unset value. Do not use. + DOCUMENT_TYPE_UNSPECIFIED = 0; + + // The document is a custom EULA used in place of the standard product EULA. + // A private offer may not have more than one custom EULA document. + // + // If this enum value is set, then mime_type and inline_content must + // be set. + CUSTOM_END_USER_LICENSE_AGREEMENT = 1; + + // The document is the statement of work required by the [Cloud Marketplace + // Product Specific + // Terms](https://cloud.google.com/terms/marketplace-product-terms) for all + // Professional Services product private offers. + // This document type is not permitted for private offers of any other + // product type. + // A private offer may not have more than one statement of work document. + // + // The mime_type and inline_content fields must be set. + STATEMENT_OF_WORK = 2; + + // The document is the Marketplace standard EULA, with the following link: + // https://cloud.google.com/terms/marketplace/eula-standard-v1-12102020. + // Existing offers may have this document type, but this is not permitted + // for new offers. + STANDARD_END_USER_LICENSE_AGREEMENT_V1 = 3; + + // The document is the Marketplace standard EULA, with the following link: + // https://cloud.google.com/terms/marketplace/eula-standard-v2-01272021 + // + // New offers using Standard EULAs should set this enum value. This is not + // permitted for Professional Services products. + // + // The mime_type and inline_content fields must not be set. + STANDARD_END_USER_LICENSE_AGREEMENT_V2 = 4; + } + + // Mechanism for storing the document content. + oneof content { + // Optional. Byte content of an unstructured document. + // Max size: 4MB + bytes inline_content = 6 [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. Name of the resource. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. The creation time of the resource. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time of the resource. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The classification type of the document. + // Used to distinguish between different types of documents that may be + // attached to a private offer for different business purposes. + DocumentType document_type = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The MIME type of the document. + // Used to distinguish between different document formats. + // Supported formats (which may be expanded in the future) + // + // - 'application/pdf' + string mime_type = 5 [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/service.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/service.proto new file mode 100644 index 000000000000..0010b31f3bb6 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/service.proto @@ -0,0 +1,44 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// Message describing Service resource. +message Service { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/Service" + pattern: "projects/{project}/locations/{location}/services/{service}" + plural: "services" + singular: "service" + }; + + // Identifier. Name of resource. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Title of the service. + // + // Not included for `SERVICE_VIEW_BASIC`. + string title = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku.proto new file mode 100644 index 000000000000..d45b0c56f37f --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku.proto @@ -0,0 +1,793 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/decimal.proto"; +import "google/type/money.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "SkuProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// Message describing the Sku resource. +// +// Encapsulates and represents a stock keeping unit (SKU), the atomic unit of +// pricing and billing in Google Cloud. Each customer charge is associated with +// and originates from exactly one SKU. While the Cloud Marketplace Sku resource +// shares a close relationship with the public [Sku resource in the Cloud +// Billing +// API](https://cloud.google.com/billing/docs/how-to/get-pricing-information-api), +// Cloud Marketplace SKUs are represented here with additional information in +// an alternative format tailored for use by Cloud Marketplace partners, and are +// not necessarily public and by extension are not generally visible in the +// Cloud Billing API or the [Google Cloud Public +// SKUs](https://cloud.google.com/skus). +// +// Note on terminology: While the name of the resource derives from the acronym +// 'SKU' it is named 'Sku' for consistency with other resource type names, and +// may be rendered variously as 'Sku', 'sku', or 'SKU' across this and other +// documentation. +message Sku { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/Sku" + pattern: "projects/{project}/locations/{location}/services/{service}/skus/{sku}" + plural: "skus" + singular: "sku" + }; + + // The price of the SKU, active during a particular time range. + // Prices are in all cases in USD. Customers are billed in the currency of + // their billing account, subject to the currency conversion rate in effect + // at the time. + message SkuPrice { + // Representation for a SKU that is not active and has no price. + message InactiveSkuPrice {} + + // Details about a SKU pricing usage of a [partner-reported custom billing + // metric](https://cloud.google.com/service-infrastructure/docs/reporting-billing-metrics) + // defined by the partner in the Service Management API and reported using + // the Service Control API. + // + // The customer's usage charge is computed by converting the customer's + // reported consumption to the SKU's composite price unit and applying the + // graduated price from the appropriate price tier. + message ManagedServiceMetricUsageFee { + // The billing model applied to bill the customer's usage. + oneof price_structure { + // Output only. [Tiered + // pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + // of the SKU. + TieredPrice tiered_price = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The name of the metric, in canonical format. + // + // Note that in the canonical format the first character of the path + // component of the metric name is always uppercase, which may differ + // from the metric name in the service config. For example, a metric + // appearing in the service config as 'example.com/example_metric' will + // appear here in the SKU as 'example.com/Example_metric'. In the Service + // Management and Service Control APIs these two metric names are + // considered distinct, either or both may be defined, and usage must be + // reported using a name matching the name of a metric defined in the + // service config. But for billing purposes usage reported using either + // name will be aggregated under the canonical metric name. + // + // Example: "example.com/Example_metric" + string canonical_metric = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU pricing usage of a [Compute Engine + // License](https://cloud.google.com/compute/docs/licenses/about). + // + // The SKU applies to a single license, and may be further scoped to a + // [Compute + // Engine VM Instance](https://cloud.google.com/compute/docs/instances) + // machine resource type (e.g. "vCPU") and size range for that machine + // resource. Instances deployed from [Compute + // Engine Images](https://cloud.google.com/compute/docs/images) + // incorporating the target license and (if applicable) matching the machine + // resource type size range will be charged by the SKU. A single license may + // be priced by multiple SKUs covering different combinations of machine + // resource type and size range, allowing a single running instance to be + // charged by up to one SKU per machine resource type, with pricing tiered + // according to machine shape. + message ComputeEngineLicenseUsageFee { + // The range of machine resource values that the SKU applies to. + message MachineResourceRange { + // Output only. The inclusive lower bound of the range. + // While the number zero may be the start of a range, it is not a + // possible machine resource value. An instance cannot exist with zero + // vCPU or memory, and an instance with no attached accelerators lacks a + // GPU dimension entirely rather than having a GPU count of zero. + int64 start_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The exclusive upper bound of the range. + // If no end value is specified, the range is unbounded from above. + optional int64 end_value = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The machine resource type that the SKU applies to, if any. + enum MachineResource { + // The SKU applies to all instances irrespective of machine shape. + // This is referred to as "instance-based pricing" because the price + // is the same for all instances. + MACHINE_RESOURCE_UNSPECIFIED = 0; + + // The SKU applies based on the instance's vCPU count. + VCPU_COUNT = 1; + + // The SKU applies based on the instance's memory size in bytes. + MEMORY_BYTES = 2; + + // The SKU applies based on the instance's GPU count. + GPU_COUNT = 3; + } + + // Determines how the customer's usage is calculated. + enum UsageCalculation { + // Unused. + USAGE_CALCULATION_UNSPECIFIED = 0; + + // Usage is calculated from instance runtime. + // The customer's usage is metered according to the [Compute Engine VM + // instance pricing + // model](https://cloud.google.com/compute/vm-instance-pricing), + // measured on a per-instance basis in units of hours, with a minimum + // duration of one minute and an increment of one second. + // + // A SKU using this usage calculation is referred to as "flat" because + // the customer's usage charge is independent of the instance's machine + // resource shape apart from determining whether the SKU applies to the + // instance. + INSTANCE_RUNTIME = 1; + + // Usage is calculated from instance runtime and size. + // This calculation mode is only applicable to resource-based SKUs. + // Usage is calculated by measuring the instance runtime in the same + // manner as for `INSTANCE_RUNTIME` and multiplying by the instance's + // machine resource value matching the SKU's machine resource type. + // This converts the price from per-instance-hour to + // per-instance-hour-per-machine-resource, which changes the price unit + // for memory SKUs to 'GiBy.h'. The price unit otherwise remains 'h' + // because the other machine resources are dimensionless. + // + // A SKU using this usage calculation is referred to as "linear" because + // the customer's usage charge is linearly proportional to the + // instance's machine resource value. + LINEAR_RESOURCE_SCALED_INSTANCE_RUNTIME = 2; + } + + // The billing model applied to bill the customer's usage + // arising from running instances covered by the scope of the SKU. + oneof price_structure { + // The price per unit of usage. + // The customer's usage charge is computed by measuring the customer's + // consumption denominated in price units and multiplying by this price. + google.type.Money price_per_unit = 6; + } + + // Output only. The license code of the target Compute Engine License. + // Note that this is the numeric license code itself in uint64 format used + // to reference licenses attached to images, not the resource name of the + // related [Compute Engine LicenseCode + // resource](https://cloud.google.com/compute/docs/reference/rest/v1/licenseCodes). + // + // Example: "1234567890123456789" + string license_code = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The machine resource type that the SKU applies to, if any. + // SKUs with a non-default value are referred to as "resource-based" SKUs. + MachineResource machine_resource = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The range of machine resource values that the SKU applies + // to. Unset when the SKU is not scoped to a particular machine resource + // type. The collection of SKUs in effect at any given time targeting the + // same license and machine resource type will cover all possible values + // for that machine resource type without overlap. Such a collection of + // SKUs form a "tiered" price structure over the possible values of the + // machine resource, with each SKU acting as a "tier". + // + // NOTE: This is distinct from a SKU with [tiered + // pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + MachineResourceRange machine_resource_range = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines how the customer's usage is calculated. + UsageCalculation usage_calculation = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The price unit of the SKU. + // See https://ucum.org/ucum.html for the format of the price unit. + // For linear-priced memory SKUs, the price unit is 'GiBy.h'. + // For all other SKUs, the price unit is 'h'. This includes linear-priced + // vCPU and GPU SKUs because these resources have unitless dimensions and + // the application of these scaling factors does not change the price + // unit. + string unit = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU pricing usage of software running on a Kubernetes + // Engine pod. + // + // The SKU applies to pods annotated with the SKU's parent service name, and + // may be further scoped to a [k8s pod resource + // type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) + // (e.g. "CPU") and size range for that resource type. Running pods + // annotated with the parent service's service name and matching the pod + // resource type size range will be charged by the SKU. A service may be + // priced by multiple SKUs covering different combinations of pod resource + // type and size range, allowing a single running pod to be charged by up to + // one SKU per pod resource type, with pricing tiered according to pod + // shape. + message KubernetesEnginePodUsageFee { + // The range of pod resource values that the SKU applies to. + message PodResourceRange { + // Output only. The inclusive lower bound of the range. + int64 start_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The exclusive upper bound of the range. + // If no end value is specified, the range is unbounded from above. + optional int64 end_value = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The pod [resource + // type](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) + // that the SKU applies to. + enum PodResource { + // Unused. + POD_RESOURCE_UNSPECIFIED = 0; + + // The SKU applies based on the pod's [vCPU + // count](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/). + VCPU_COUNT = 1; + + // The SKU applies based on the pod's [memory + // size](https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/) + // in bytes. + MEMORY_BYTES = 2; + + // The SKU applies based on the pod's GPU count. + GPU_COUNT = 3; + + // The SKU applies based on the pod's [TPU + // count](https://cloud.google.com/kubernetes-engine/docs/concepts/tpus#how_tpus_work). + TPU_COUNT = 4; + } + + // Determines how the customer's usage is calculated. + enum UsageCalculation { + // Unused. + USAGE_CALCULATION_UNSPECIFIED = 0; + + // Usage is calculated from pod runtime. + // The customer's usage is metered in a manner similar to the [GKE + // Autopilot mode for pods without specific hardware + // requirements](https://cloud.google.com/kubernetes-engine/pricing), + // priced on a per-pod basis in units of hours and measured in + // one-second increments, with no minimum duration. + // + // A SKU using this usage calculation is referred to as "flat" because + // the customer's usage charge is independent of the pod shape apart + // from determining whether the SKU applies to the pod. + POD_RUNTIME = 1; + + // Usage is calculated from pod runtime and size. + // This calculation mode is only applicable to resource-based SKUs. + // Usage is calculated by measuring the pod runtime in the same manner + // as for `POD_RUNTIME` and multiplying by the pod's resource value + // matching the SKU's pod resource type. + // This converts the price from per-pod-hour to + // per-pod-hour-per-resource, which changes the price unit for memory + // SKUs to 'GiBy.h'. The price unit otherwise remains 'h' because the + // other resources are dimensionless. + // + // A SKU using this usage calculation is referred to as "linear" because + // the customer's usage charge is linearly proportional to the + // pod's resource value. + LINEAR_RESOURCE_SCALED_POD_RUNTIME = 2; + } + + // The billing model applied to meter and bill the customer's usage + // arising from running k8s pods covered by the scope of the SKU. + oneof price_structure { + // The price per unit of usage. + // The customer's usage charge is computed by measuring the customer's + // consumption denominated in price units and multiplying by this price. + google.type.Money price_per_unit = 6; + } + + // Output only. The pod resource type that the SKU applies to. + // SKUs with a non-default value are referred to as "resource-based" SKUs. + PodResource pod_resource = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The range of pod resource values that the SKU applies to. + // The collection of SKUs in effect at any given time targeting the same + // service annotation and pod resource type will cover all possible values + // for that pod resource type without overlap. Such a collection of SKUs + // form a "tiered" price structure over the possible values of the pod + // resource, with each SKU acting as a "tier". + // + // NOTE: This is distinct from a SKU with [tiered + // pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + PodResourceRange pod_resource_range = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines how the customer's usage is calculated. + UsageCalculation usage_calculation = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The price unit of the SKU. + // See https://ucum.org/ucum.html for the format of the price unit. + // For linear-priced memory SKUs, the price unit is 'GiBy.h'. + // For all other SKUs, the price unit is 'h'. This includes linear-priced + // VCPU, GPU, and TPU SKUs because these resources have unitless + // dimensions and the application of these scaling factors does not change + // the price unit. + string unit = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU pricing usage of an [AI Platform Managed Model + // (MaaS)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/use-partner-models). + message AiPlatformManagedModelUsageFee { + // The usage metric that the SKU applies to. + message AiPlatformManagedModelUsageMetric { + // Input tokens read from the input to the prediction endpoint. + // The unit for this metric is dimensionless. + message InputTokensMetric {} + + // Input tokens read from the cache. + // The unit for this metric is dimensionless. + message CacheReadInputTokensMetric {} + + // Input tokens written to the cache. + // The unit for this metric is dimensionless. + message CacheWriteInputTokensMetric { + // Output only. The duration the write is retained in the cache. + google.protobuf.Duration ttl = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output tokens returned from the prediction endpoint. + // The unit for this metric is dimensionless. + message OutputTokensMetric {} + + // Web search requests executed by the model. + // The unit for this metric is dimensionless. + message WebSearchRequestsMetric {} + + // The usage metric that the SKU applies to. + oneof metric { + // Output only. Input tokens read from the prediction endpoint input. + InputTokensMetric input_tokens_metric = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Input tokens read from the cache. + CacheReadInputTokensMetric cache_read_input_tokens_metric = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Input tokens written to the cache. + CacheWriteInputTokensMetric cache_write_input_tokens_metric = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Output tokens returned from the prediction endpoint. + OutputTokensMetric output_tokens_metric = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Web search requests executed by the model. + WebSearchRequestsMetric web_search_requests_metric = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // The range of aggregated input token values covered by the SKU. + // + // A request to a managed model has an aggregated input token value + // determined by the sum of the metric values of the input token metrics. + // + // * input tokens + // * cache read input tokens + // * cache write input tokens + message CombinedRequestInputTokensRange { + // Output only. The inclusive lower bound of the range. + int64 start_value = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The exclusive upper bound of the range. + // If no end value is specified, the range is unbounded from above. + optional int64 end_value = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Additional details present for historical provisioned throughput + // "overage" SKUs that applied charges only to usage above the customer's + // provisioned throughput quota threshold. + message ProvisionedThroughputOverage { + // Output only. The service whose usage the overage SKU applied to. + string service = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + child_type: "commerceproducer.googleapis.com/Service" + } + ]; + } + + // The prediction modes of requests that the SKU applies to. + enum PredictionMode { + // The SKU does not distinguish between prediction modes. + PREDICTION_MODE_UNSPECIFIED = 0; + + // The SKU applies to online prediction. + ONLINE_PREDICTION = 1; + + // The SKU applies to batch prediction. + BATCH_PREDICTION = 2; + } + + // The billing model applied to bill the customer's usage. + oneof price_structure { + // Output only. [Tiered + // pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + // of the SKU. + TieredPrice tiered_price = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The usage metric that the SKU applies to. + AiPlatformManagedModelUsageMetric usage_metric = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The model endpoint location where usage is priced by this + // SKU. If no location is specified, the SKU applies to usage in all + // locations. + AiPlatformManagedModelEndpointLocation location = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The prediction mode of requests that the SKU applies to. + PredictionMode prediction_mode = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The range of aggregated input token values covered by the + // SKU. Unset if the SKU is not scoped to a particular range. A request is + // in scope for this SKU if its aggregated input token value falls within + // the range. The collection of SKUs in effect at any given time scoped to + // a particular aggregated input token value range will cover all possible + // values without overlap. Such a collection of SKUs form a "tiered" price + // structure over the possible value, with each SKU acting as a "tier". + // + // NOTE: This is distinct from a SKU with [tiered + // pricing](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + CombinedRequestInputTokensRange combined_request_input_tokens_range = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set when the SKU is a historical provisioned throughput + // overage SKU. Starting 2025-08-26 such SKUs have no effect, and usage in + // excess of provisioned throughput quota is now metered as standard + // usage. This field is set only in historical SKU timeline entries for + // overage SKUs belonging to partners that offered provisioned throughput + // for AI Platform managed model products prior to the unification of + // standard usage and provisioned throughput overage metering. + ProvisionedThroughputOverage provisioned_throughput_overage = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU pricing reservation of [AI Platform Provisioned + // Throughput](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput). + // + // Customers may purchase provisioned throughput reservations for AI + // Platform managed model products. This provides the customer with + // provisioned throughput quota for a particular model and location. Model + // usage below the provisioned throughput quota threshold is voided and is + // not charged by the product's managed model usage fees. + message AiPlatformProvisionedThroughputFee { + // The provisioned throughput reservation term priced by this SKU. + oneof term { + // Output only. The duration of the provisioned throughput reservation + // in months. + int32 term_duration_months = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The billing model applied to bill the customer's usage. + oneof price_structure { + // The price per [Generative AI Scale Unit + // (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput) + // per `unit`. + // A provisioned throughput reservation reserves a certain number of + // GSUs, and the customer is billed for those GSUs on a continuous basis + // for the duration of the reservation. + google.type.Money gsu_price_per_unit = 4; + } + + // Output only. The location where provisioned throughput is priced by + // this SKU. + AiPlatformManagedModelEndpointLocation location = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The price unit of the SKU. + // See https://ucum.org/ucum.html for the format of the price unit. + // Since provisioned throughput reservations are billed by duration, this + // will always be a time unit. The price unit of a provisioned throughput + // SKU is not necessarily the same as the reservation term. + // This field is unrelated to the [Generative AI Scale Unit + // (GSU)](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/provisioned-throughput/measure-provisioned-throughput). + // + // Currently the unit is always months ('mo'). + // Additional time units may be supported in future. + // + // The customary unit month ('mo') requires special handling to account + // for the variable duration of months. A price may be denominated in + // units of months, but the duration the reservation is active is measured + // in metric time and customers are billed on that basis. The exact hourly + // or per-second price can be calculated by dividing the monthly price + // by the number of hours or seconds in the desired month. A reservation + // active for N months is rarely billed exactly N times the monthly price. + // This is intended and is not a billing error. + string unit = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU pricing usage of an [AI Platform Self Deployed + // Model](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-garden/self-deployed-models). + message AiPlatformDeployedModelUsageFee { + // Determines how the customer's usage is calculated. + enum UsageCalculation { + // Unused. + USAGE_CALCULATION_UNSPECIFIED = 0; + + // Usage is calculated from deployment runtime and size. + // Usage is calculated by measuring the deployment runtime in hours and + // multiplying by the amount of the deployed model's hardware resource + // matching the SKU's hardware resource type. + // This results in a composite `unit` of hours ('h') multiplied by the + // unit that denominates the hardware resource, though note that + // multiplying by the dimensionless unit ("1") has no effect. + LINEAR_RESOURCE_SCALED_DEPLOYMENT_RUNTIME = 2; + } + + // The type of hardware to which the SKU's licensing fee applies. + // Models are deployed with a customer-specified + // [MachineSpec](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec) + // that determines the hardware resources used by the model. + oneof hardware_resource { + // Output only. The SKU applies to a specific accelerator type. + // Contains the name of the matching [AI Platform AcceleratorType]( + // https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#AcceleratorType). + // The corresponding linear scaling value is the dimensionless + // [`accelerator_count`](https://docs.cloud.google.com/gemini-enterprise-agent-platform/reference/rest/v1/MachineSpec#FIELDS.accelerator_count). + string accelerator_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The billing model applied to bill the customer's usage + // arising from running deployed models covered by the scope of the SKU. + oneof price_structure { + // Output only. The price per unit of usage. + // The customer's usage charge is computed by measuring the customer's + // consumption denominated in price units and multiplying by this price. + google.type.Money price_per_unit = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The price unit of the SKU. + // See https://ucum.org/ucum.html for the format of the price unit. + // Currently the unit is always hours ('h'). This may change in future. + string unit = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Determines how the customer's usage is calculated. + UsageCalculation usage_calculation = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Details about a SKU charging a flat subscription fee. + message FlatSubscriptionFee { + // The billing model applied to bill the customer's subscription. + oneof price_structure { + // Output only. The price per time unit the subscription is active. + google.type.Money price_per_unit = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The unit of the subscription SKU. + // See https://ucum.org/ucum.html for the format of the price unit. + // Since subscriptions are billed by duration, this will always be a time + // unit. The price unit of a subscription SKU is not necessarily the same + // as the subscription period of the corresponding StandardOffers. + // + // Currently the unit is always months ('mo'). + // Additional time units may be supported in future. + // + // The unit month ('mo') is a customary time unit and requires special + // handling to account for the variable duration of months. A price may be + // denominated in units of months, but the duration the subscription is + // active is measured in metric time and customers are billed on that + // basis. The exact hourly or per-second price can be calculated by + // dividing the monthly price by the number of hours or seconds in the + // desired month. A subscription active for N months is rarely billed + // exactly N times the monthly price. This is intended and is not a + // billing error. + string unit = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Price structure for a SKU charging a [tiered + // price](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing). + message TieredPrice { + // A [price + // tier](https://cloud.google.com/billing/docs/how-to/pricing-table#tiered-pricing) + // pricing metric usage within a range. + // + // Each marginal unit of usage is priced according to the price tier in + // which it falls. + message PriceTier { + // Output only. Inclusive lower bound of the tier interval, denominated + // in `unit`. + google.type.Decimal start_amount = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The price per `price_unit_count` of `unit` in the tier. + // The price is applied fractionally if the customer's usage within the + // tier is not an integer multiple of `price_unit_count`. + google.type.Money price = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Usage unit used for defining price tiers and for scaling + // with the price_unit_count to form the composite price unit. + // + // See https://ucum.org/ucum.html for the format of the price unit. + // A unitless dimension, such as a count, is represented as `1`. + string unit = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display description of the unit, supplied at time of + // onboarding. This value is recommended to be set at least for + // dimensionless metrics, but may be empty if no description was provided + // at time of onboarding. + string unit_description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Scaling the `unit` by the `price_unit_count` forms the + // composite "price unit" which is priced by the price tiers. + // + // This scaling factor is in addition to any numerical prefix symbol on + // the `unit`, so the same composite "price unit" can be represented in + // several ways, differing only in their presentation to users. + // + // Examples: + // + // * $1 per 1 bytes : unit = By, price_unit_count = 1 + // * $1000 per 1 kilobytes : unit = kBy, price_unit_count = 1 + // * $5000 per 5 kilobytes : unit = kBy, price_unit_count = 5 + google.type.Decimal price_unit_count = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The list of price tiers for the SKU, ordered by the + // start_amount. + // + // The tiers are non-overlapping and are collectively bounded below by + // zero and unbounded above to cover the entire range of possible metric + // usage. Each tier is bounded below inclusively by its start_amount and + // bounded above exclusively by the start_amount of the next tier, or else + // unbounded above if there is no next tier. + // + // Usage of the metric is aggregated by customer billing account on a + // monthly basis and billed in a graduated manner according to the price + // tiers, with each marginal unit of usage priced accoring to the tier in + // which it falls. + repeated PriceTier price_tiers = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Location scope for a SKU that applies to an AI Platform Managed Model + // endpoint. + message AiPlatformManagedModelEndpointLocation { + // The location scope of the SKU. + oneof location { + // Output only. The SKU applies to a region. + string region_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU applies to a [global + // endpoint](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations). + // **Note**: This is distinct from the conventional meaning of "global" + // as a SKU that applies to all locations. + bool global_endpoint = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU applies to a multi-region. + string multi_region_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // The type of the SKU. + oneof sku_type { + // Output only. The SKU has been disabled and has no price. + // SKUs, once created and allowed to go into effect, are never deleted. + // Disabled SKUs may accumulate over the lifetime of a product as the + // product's pricing evolves, and are retained for historical reference. + // A SKU in this state generally remains in this state indefinitely, but + // may be reactivated if needed. Clients must not depend on inactive SKUs + // remaining inactive. + InactiveSkuPrice inactive = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices usage reported by the partner for a + // partner-defined custom billing metric. + ManagedServiceMetricUsageFee managed_service_metric_usage_fee = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices usage of a Compute Engine License via a + // license fee applied to running instances that use the license. + ComputeEngineLicenseUsageFee gce_license_usage_fee = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices usage of software deployed on Kubernetes + // Engine. + KubernetesEnginePodUsageFee gke_pod_usage_fee = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices usage of an AI Platform Managed Model + // (MaaS). + AiPlatformManagedModelUsageFee ai_platform_managed_model_usage_fee = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices reservation of AI Platform provisioned + // throughput. + AiPlatformProvisionedThroughputFee + ai_platform_provisioned_throughput_fee = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU prices usage of an AI model deployed on AI + // Platform. + AiPlatformDeployedModelUsageFee ai_platform_deployed_model_usage_fee = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The SKU applies a flat subscription fee. + FlatSubscriptionFee flat_subscription_fee = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. The start of the time interval during which this price is + // effective. + google.protobuf.Timestamp effective_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Identifier. Name of the SKU. + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Description of the SKU. + string description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timeline of the SKU prices, in chronological order by + // `effective_time`. + // + // Each entry is active in the time range starting inclusively from the + // entry's `effective_time` and ending exclusively at the next entry's + // `effective_time`, if one exists, or else remaining active indefinitely if + // it is the final entry. The currently active entry is the entry with the + // latest `effective_time` that is in the past. Because of scheduled future + // price changes the currently active entry may not be the last entry in the + // timeline. A SKU does not necessarily have a currently active entry, as the + // SKU's first timeline entry may have an `effective_time` in the future. + repeated SkuPrice sku_price_timeline = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku_group.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku_group.proto new file mode 100644 index 000000000000..e20c513b5b9a --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/sku_group.proto @@ -0,0 +1,63 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "SkuGroupProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// Message describing SkuGroup resource +message SkuGroup { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/SkuGroup" + pattern: "projects/{project}/locations/{location}/skuGroups/{sku_group}" + plural: "skuGroups" + singular: "skuGroup" + }; + + // Output only. Identifier. Name of the SkuGroup. + string name = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER + ]; + + // Output only. Partner SKUs included in the SkuGroup. + // Format: + // `projects/{project}/locations/{location}/services/{service}/skus/{sku}` + repeated string skus = 2 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Sku" + } + ]; + + // Output only. Google SKUs included in the SkuGroup. + // + // Used for partner products sold by Google, such as Premium Operating System + // Images sold for use in Compute Engine. This is not common. + // SKUs of this type are not present on this API and can instead be found on + // the Cloud Billing API or at https://cloud.google.com/skus. + // + // Format: `services/{service}/skus/{sku}` + repeated string cloud_billing_skus = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/standard_offer.proto b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/standard_offer.proto new file mode 100644 index 000000000000..3260a4a5fbf5 --- /dev/null +++ b/java-commerceproducer/proto-google-cloud-commerceproducer-v1beta/src/main/proto/google/cloud/commerceproducer/v1beta/standard_offer.proto @@ -0,0 +1,150 @@ +// Copyright 2026 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 +// +// http://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. + +syntax = "proto3"; + +package google.cloud.commerceproducer.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.CommerceProducer.V1Beta"; +option go_package = "cloud.google.com/go/commerceproducer/apiv1beta/commerceproducerpb;commerceproducerpb"; +option java_multiple_files = true; +option java_outer_classname = "StandardOfferProto"; +option java_package = "com.google.cloud.commerceproducer.v1beta"; + +// Message describing the StandardOffer resource. +message StandardOffer { + option (google.api.resource) = { + type: "commerceproducer.googleapis.com/StandardOffer" + pattern: "projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}" + plural: "standardOffers" + singular: "standardOffer" + }; + + // Price model of the offer. + message PriceModel { + // A collection of SKUs. + message SkuList { + // Output only. List of SKUs by name. + repeated string skus = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Sku" + } + ]; + } + + // A collection of SkuGroups. + message SkuGroupList { + // Output only. List of SkuGroups by name. + repeated string sku_groups = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/SkuGroup" + } + ]; + } + + // Price configurations for the usage part. + message Usage { + // The SKUs that the offer's usage fees are charged against. + oneof skus { + // Output only. The offer's usage fees are charged against these SKUs. + SkuList sku_list = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The offer's usage fees are charged against the SKUs in + // these groups. + SkuGroupList sku_group_list = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + } + + // Price configurations for flat fee subscriptions. + message FlatFeeSubscription { + // Output only. Flat fee subscription SKU for the offer. + string sku = 1 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "commerceproducer.googleapis.com/Sku" + } + ]; + } + + // Price configurations for the subscription part. + oneof subscription { + // Output only. Price configurations for the flat fee subscription. + FlatFeeSubscription flat_fee = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Price configurations for the usage part. + Usage usage = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Term of the offer. + // Applicable only to subscription offers. + oneof term { + // Output only. Term duration of the offer in months. + // Applicable only to offers with a subscription price model. + // Additional forms of offer term may be added in the future. + int32 term_duration_months = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Identifier. Name of resource. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. Creation time of the offer. + google.protobuf.Timestamp create_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Last update time of the offer. + google.protobuf.Timestamp update_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Effective time of the offer. + // Prior to this time, the offer cannot be purchased or used as the base + // standard offer of a private offer. + google.protobuf.Timestamp effective_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Expire time of the offer. + // An offer is expired if its expire time is in the past. + // An expired standard offer cannot be purchased or used as the base standard + // offer of a private offer. + google.protobuf.Timestamp expire_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifier that distinguishes between different service levels + // of the same product that constitute distinct offerings to customers with + // different pricing. + // + // The service levels of a product are also referred to in some cases as the + // product's 'plans', and the `service_level` value is referred to in some + // cases as the "plan ID". + // + // Multiple non-expired standard offers can share the same service level when + // they are subscription offers for different term durations. + string service_level = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Title of the service level. + // + // Not included for `STANDARD_OFFER_VIEW_BASIC`. + string service_level_title = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Price model of the offer. + PriceModel price_model = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/AsyncCancelPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/AsyncCancelPrivateOffer.java new file mode 100644 index 000000000000..7e41b6e913db --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/AsyncCancelPrivateOffer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class AsyncCancelPrivateOffer { + + public static void main(String[] args) throws Exception { + asyncCancelPrivateOffer(); + } + + public static void asyncCancelPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CancelPrivateOfferRequest request = + CancelPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setCancellationNote("cancellationNote806581141") + .build(); + ApiFuture future = + commerceTransactionClient.cancelPrivateOfferCallable().futureCall(request); + // Do something. + PrivateOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOffer.java new file mode 100644 index 000000000000..6b3543e354e0 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOffer.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CancelPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncCancelPrivateOffer { + + public static void main(String[] args) throws Exception { + syncCancelPrivateOffer(); + } + + public static void syncCancelPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CancelPrivateOfferRequest request = + CancelPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setCancellationNote("cancellationNote806581141") + .build(); + PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferPrivateoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferPrivateoffername.java new file mode 100644 index 000000000000..371d42057fc7 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferPrivateoffername.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_Privateoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncCancelPrivateOfferPrivateoffername { + + public static void main(String[] args) throws Exception { + syncCancelPrivateOfferPrivateoffername(); + } + + public static void syncCancelPrivateOfferPrivateoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_Privateoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferString.java new file mode 100644 index 000000000000..7bf710017c36 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/cancelprivateoffer/SyncCancelPrivateOfferString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncCancelPrivateOfferString { + + public static void main(String[] args) throws Exception { + syncCancelPrivateOfferString(); + } + + public static void syncCancelPrivateOfferString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString(); + PrivateOffer response = commerceTransactionClient.cancelPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CancelPrivateOffer_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetCredentialsProvider.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetCredentialsProvider.java new file mode 100644 index 000000000000..c3c8e8275d6e --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetCredentialsProvider.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_Create_SetCredentialsProvider_sync] +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionSettings; +import com.google.cloud.commerceproducer.v1beta.myCredentials; + +public class SyncCreateSetCredentialsProvider { + + public static void main(String[] args) throws Exception { + syncCreateSetCredentialsProvider(); + } + + public static void syncCreateSetCredentialsProvider() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + CommerceTransactionSettings commerceTransactionSettings = + CommerceTransactionSettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + .build(); + CommerceTransactionClient commerceTransactionClient = + CommerceTransactionClient.create(commerceTransactionSettings); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_Create_SetCredentialsProvider_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetEndpoint.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetEndpoint.java new file mode 100644 index 000000000000..a17b07366d81 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateSetEndpoint.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_Create_SetEndpoint_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionSettings; +import com.google.cloud.commerceproducer.v1beta.myEndpoint; + +public class SyncCreateSetEndpoint { + + public static void main(String[] args) throws Exception { + syncCreateSetEndpoint(); + } + + public static void syncCreateSetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + CommerceTransactionSettings commerceTransactionSettings = + CommerceTransactionSettings.newBuilder().setEndpoint(myEndpoint).build(); + CommerceTransactionClient commerceTransactionClient = + CommerceTransactionClient.create(commerceTransactionSettings); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_Create_SetEndpoint_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateUseHttpJsonTransport.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateUseHttpJsonTransport.java new file mode 100644 index 000000000000..3d2fb4430f61 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/create/SyncCreateUseHttpJsonTransport.java @@ -0,0 +1,41 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_Create_UseHttpJsonTransport_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionSettings; + +public class SyncCreateUseHttpJsonTransport { + + public static void main(String[] args) throws Exception { + syncCreateUseHttpJsonTransport(); + } + + public static void syncCreateUseHttpJsonTransport() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + CommerceTransactionSettings commerceTransactionSettings = + CommerceTransactionSettings.newHttpJsonBuilder().build(); + CommerceTransactionClient commerceTransactionClient = + CommerceTransactionClient.create(commerceTransactionSettings); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_Create_UseHttpJsonTransport_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/AsyncCreatePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/AsyncCreatePrivateOffer.java new file mode 100644 index 000000000000..bb0f14ffd542 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/AsyncCreatePrivateOffer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class AsyncCreatePrivateOffer { + + public static void main(String[] args) throws Exception { + asyncCreatePrivateOffer(); + } + + public static void asyncCreatePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + ApiFuture future = + commerceTransactionClient.createPrivateOfferCallable().futureCall(request); + // Do something. + PrivateOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/SyncCreatePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/SyncCreatePrivateOffer.java new file mode 100644 index 000000000000..a4d92fdb2745 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateoffer/SyncCreatePrivateOffer.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class SyncCreatePrivateOffer { + + public static void main(String[] args) throws Exception { + syncCreatePrivateOffer(); + } + + public static void syncCreatePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CreatePrivateOfferRequest request = + CreatePrivateOfferRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + PrivateOffer response = commerceTransactionClient.createPrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/AsyncCreatePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/AsyncCreatePrivateOfferDocument.java new file mode 100644 index 000000000000..c64d2f6c57b9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/AsyncCreatePrivateOfferDocument.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOfferDocument_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class AsyncCreatePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + asyncCreatePrivateOfferDocument(); + } + + public static void asyncCreatePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + ApiFuture future = + commerceTransactionClient.createPrivateOfferDocumentCallable().futureCall(request); + // Do something. + PrivateOfferDocument response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOfferDocument_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/SyncCreatePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/SyncCreatePrivateOfferDocument.java new file mode 100644 index 000000000000..ed807722d17f --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/createprivateofferdocument/SyncCreatePrivateOfferDocument.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOfferDocument_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.CreatePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncCreatePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + syncCreatePrivateOfferDocument(); + } + + public static void syncCreatePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + CreatePrivateOfferDocumentRequest request = + CreatePrivateOfferDocumentRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .build(); + PrivateOfferDocument response = commerceTransactionClient.createPrivateOfferDocument(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_CreatePrivateOfferDocument_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/AsyncDeletePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/AsyncDeletePrivateOffer.java new file mode 100644 index 000000000000..2ee76290073a --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/AsyncDeletePrivateOffer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.protobuf.Empty; + +public class AsyncDeletePrivateOffer { + + public static void main(String[] args) throws Exception { + asyncDeletePrivateOffer(); + } + + public static void asyncDeletePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + DeletePrivateOfferRequest request = + DeletePrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setForce(true) + .build(); + ApiFuture future = + commerceTransactionClient.deletePrivateOfferCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOffer.java new file mode 100644 index 000000000000..5615e9009adc --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOffer.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOffer { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOffer(); + } + + public static void syncDeletePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + DeletePrivateOfferRequest request = + DeletePrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setForce(true) + .build(); + commerceTransactionClient.deletePrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferPrivateoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferPrivateoffername.java new file mode 100644 index 000000000000..045c12025cba --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferPrivateoffername.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_Privateoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOfferPrivateoffername { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOfferPrivateoffername(); + } + + public static void syncDeletePrivateOfferPrivateoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + commerceTransactionClient.deletePrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_Privateoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferString.java new file mode 100644 index 000000000000..97d3dcb62e54 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateoffer/SyncDeletePrivateOfferString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOfferString { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOfferString(); + } + + public static void syncDeletePrivateOfferString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString(); + commerceTransactionClient.deletePrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOffer_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/AsyncDeletePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/AsyncDeletePrivateOfferDocument.java new file mode 100644 index 000000000000..fc75b922c733 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/AsyncDeletePrivateOfferDocument.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; +import com.google.protobuf.Empty; + +public class AsyncDeletePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + asyncDeletePrivateOfferDocument(); + } + + public static void asyncDeletePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + DeletePrivateOfferDocumentRequest request = + DeletePrivateOfferDocumentRequest.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .build(); + ApiFuture future = + commerceTransactionClient.deletePrivateOfferDocumentCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocument.java new file mode 100644 index 000000000000..b4942ab5f206 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocument.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.DeletePrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOfferDocument(); + } + + public static void syncDeletePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + DeletePrivateOfferDocumentRequest request = + DeletePrivateOfferDocumentRequest.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .build(); + commerceTransactionClient.deletePrivateOfferDocument(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentPrivateofferdocumentname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentPrivateofferdocumentname.java new file mode 100644 index 000000000000..55a686611f0e --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentPrivateofferdocumentname.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_Privateofferdocumentname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOfferDocumentPrivateofferdocumentname { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOfferDocumentPrivateofferdocumentname(); + } + + public static void syncDeletePrivateOfferDocumentPrivateofferdocumentname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + commerceTransactionClient.deletePrivateOfferDocument(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_Privateofferdocumentname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentString.java new file mode 100644 index 000000000000..fe56094bb4c6 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/deleteprivateofferdocument/SyncDeletePrivateOfferDocumentString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; +import com.google.protobuf.Empty; + +public class SyncDeletePrivateOfferDocumentString { + + public static void main(String[] args) throws Exception { + syncDeletePrivateOfferDocumentString(); + } + + public static void syncDeletePrivateOfferDocumentString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString(); + commerceTransactionClient.deletePrivateOfferDocument(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_DeletePrivateOfferDocument_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/AsyncGetLocation.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/AsyncGetLocation.java new file mode 100644 index 000000000000..e6fd8632a6b9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/AsyncGetLocation.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetLocation_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class AsyncGetLocation { + + public static void main(String[] args) throws Exception { + asyncGetLocation(); + } + + public static void asyncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + ApiFuture future = + commerceTransactionClient.getLocationCallable().futureCall(request); + // Do something. + Location response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetLocation_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/SyncGetLocation.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..d373fb34f7b9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getlocation/SyncGetLocation.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetLocation_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + Location response = commerceTransactionClient.getLocation(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetLocation_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/AsyncGetPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/AsyncGetPrivateOffer.java new file mode 100644 index 000000000000..19bc8892bed9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/AsyncGetPrivateOffer.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferView; + +public class AsyncGetPrivateOffer { + + public static void main(String[] args) throws Exception { + asyncGetPrivateOffer(); + } + + public static void asyncGetPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetPrivateOfferRequest request = + GetPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setView(PrivateOfferView.forNumber(0)) + .build(); + ApiFuture future = + commerceTransactionClient.getPrivateOfferCallable().futureCall(request); + // Do something. + PrivateOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOffer.java new file mode 100644 index 000000000000..164816040fae --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOffer.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferView; + +public class SyncGetPrivateOffer { + + public static void main(String[] args) throws Exception { + syncGetPrivateOffer(); + } + + public static void syncGetPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetPrivateOfferRequest request = + GetPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setView(PrivateOfferView.forNumber(0)) + .build(); + PrivateOffer response = commerceTransactionClient.getPrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferPrivateoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferPrivateoffername.java new file mode 100644 index 000000000000..2ddd92737342 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferPrivateoffername.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_Privateoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncGetPrivateOfferPrivateoffername { + + public static void main(String[] args) throws Exception { + syncGetPrivateOfferPrivateoffername(); + } + + public static void syncGetPrivateOfferPrivateoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + PrivateOffer response = commerceTransactionClient.getPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_Privateoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferString.java new file mode 100644 index 000000000000..f1f7448a4561 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateoffer/SyncGetPrivateOfferString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncGetPrivateOfferString { + + public static void main(String[] args) throws Exception { + syncGetPrivateOfferString(); + } + + public static void syncGetPrivateOfferString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString(); + PrivateOffer response = commerceTransactionClient.getPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOffer_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/AsyncGetPrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/AsyncGetPrivateOfferDocument.java new file mode 100644 index 000000000000..5aadd1376ab0 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/AsyncGetPrivateOfferDocument.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; + +public class AsyncGetPrivateOfferDocument { + + public static void main(String[] args) throws Exception { + asyncGetPrivateOfferDocument(); + } + + public static void asyncGetPrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetPrivateOfferDocumentRequest request = + GetPrivateOfferDocumentRequest.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .build(); + ApiFuture future = + commerceTransactionClient.getPrivateOfferDocumentCallable().futureCall(request); + // Do something. + PrivateOfferDocument response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocument.java new file mode 100644 index 000000000000..756a103437ad --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocument.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetPrivateOfferDocumentRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; + +public class SyncGetPrivateOfferDocument { + + public static void main(String[] args) throws Exception { + syncGetPrivateOfferDocument(); + } + + public static void syncGetPrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetPrivateOfferDocumentRequest request = + GetPrivateOfferDocumentRequest.newBuilder() + .setName( + PrivateOfferDocumentName.of( + "[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString()) + .build(); + PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentPrivateofferdocumentname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentPrivateofferdocumentname.java new file mode 100644 index 000000000000..a243936b495f --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentPrivateofferdocumentname.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_Privateofferdocumentname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; + +public class SyncGetPrivateOfferDocumentPrivateofferdocumentname { + + public static void main(String[] args) throws Exception { + syncGetPrivateOfferDocumentPrivateofferdocumentname(); + } + + public static void syncGetPrivateOfferDocumentPrivateofferdocumentname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferDocumentName name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]"); + PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_Privateofferdocumentname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentString.java new file mode 100644 index 000000000000..c35549400dca --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getprivateofferdocument/SyncGetPrivateOfferDocumentString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocumentName; + +public class SyncGetPrivateOfferDocumentString { + + public static void main(String[] args) throws Exception { + syncGetPrivateOfferDocumentString(); + } + + public static void syncGetPrivateOfferDocumentString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = + PrivateOfferDocumentName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]", "[DOCUMENT]") + .toString(); + PrivateOfferDocument response = commerceTransactionClient.getPrivateOfferDocument(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetPrivateOfferDocument_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/AsyncGetService.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/AsyncGetService.java new file mode 100644 index 000000000000..78a9b2300947 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/AsyncGetService.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetService_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.ServiceView; + +public class AsyncGetService { + + public static void main(String[] args) throws Exception { + asyncGetService(); + } + + public static void asyncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetServiceRequest request = + GetServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setView(ServiceView.forNumber(0)) + .build(); + ApiFuture future = + commerceTransactionClient.getServiceCallable().futureCall(request); + // Do something. + Service response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetService_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetService.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetService.java new file mode 100644 index 000000000000..83052755cc41 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetService.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetService_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetServiceRequest; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.ServiceView; + +public class SyncGetService { + + public static void main(String[] args) throws Exception { + syncGetService(); + } + + public static void syncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetServiceRequest request = + GetServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setView(ServiceView.forNumber(0)) + .build(); + Service response = commerceTransactionClient.getService(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetService_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceServicename.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceServicename.java new file mode 100644 index 000000000000..cd2a5637e3c9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceServicename.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetService_Servicename_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.ServiceName; + +public class SyncGetServiceServicename { + + public static void main(String[] args) throws Exception { + syncGetServiceServicename(); + } + + public static void syncGetServiceServicename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + Service response = commerceTransactionClient.getService(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetService_Servicename_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceString.java new file mode 100644 index 000000000000..30216683b43d --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getservice/SyncGetServiceString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetService_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.cloud.commerceproducer.v1beta.ServiceName; + +public class SyncGetServiceString { + + public static void main(String[] args) throws Exception { + syncGetServiceString(); + } + + public static void syncGetServiceString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString(); + Service response = commerceTransactionClient.getService(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetService_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/AsyncGetSku.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/AsyncGetSku.java new file mode 100644 index 000000000000..b2fa4dcf2023 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/AsyncGetSku.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSku_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuName; + +public class AsyncGetSku { + + public static void main(String[] args) throws Exception { + asyncGetSku(); + } + + public static void asyncGetSku() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetSkuRequest request = + GetSkuRequest.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .build(); + ApiFuture future = commerceTransactionClient.getSkuCallable().futureCall(request); + // Do something. + Sku response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSku_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSku.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSku.java new file mode 100644 index 000000000000..c6575c408069 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSku.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSku_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetSkuRequest; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuName; + +public class SyncGetSku { + + public static void main(String[] args) throws Exception { + syncGetSku(); + } + + public static void syncGetSku() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetSkuRequest request = + GetSkuRequest.newBuilder() + .setName(SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString()) + .build(); + Sku response = commerceTransactionClient.getSku(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSku_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuSkuname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuSkuname.java new file mode 100644 index 000000000000..39fa7914a77c --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuSkuname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSku_Skuname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuName; + +public class SyncGetSkuSkuname { + + public static void main(String[] args) throws Exception { + syncGetSkuSkuname(); + } + + public static void syncGetSkuSkuname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + SkuName name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]"); + Sku response = commerceTransactionClient.getSku(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSku_Skuname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuString.java new file mode 100644 index 000000000000..82425f7ddd0d --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getsku/SyncGetSkuString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSku_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.cloud.commerceproducer.v1beta.SkuName; + +public class SyncGetSkuString { + + public static void main(String[] args) throws Exception { + syncGetSkuString(); + } + + public static void syncGetSkuString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = SkuName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[SKU]").toString(); + Sku response = commerceTransactionClient.getSku(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSku_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/AsyncGetSkuGroup.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/AsyncGetSkuGroup.java new file mode 100644 index 000000000000..dc89933c39a1 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/AsyncGetSkuGroup.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.SkuGroupName; + +public class AsyncGetSkuGroup { + + public static void main(String[] args) throws Exception { + asyncGetSkuGroup(); + } + + public static void asyncGetSkuGroup() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetSkuGroupRequest request = + GetSkuGroupRequest.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .build(); + ApiFuture future = + commerceTransactionClient.getSkuGroupCallable().futureCall(request); + // Do something. + SkuGroup response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroup.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroup.java new file mode 100644 index 000000000000..a44bf8e213f4 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroup.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetSkuGroupRequest; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.SkuGroupName; + +public class SyncGetSkuGroup { + + public static void main(String[] args) throws Exception { + syncGetSkuGroup(); + } + + public static void syncGetSkuGroup() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetSkuGroupRequest request = + GetSkuGroupRequest.newBuilder() + .setName(SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString()) + .build(); + SkuGroup response = commerceTransactionClient.getSkuGroup(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupSkugroupname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupSkugroupname.java new file mode 100644 index 000000000000..a32529790796 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupSkugroupname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_Skugroupname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.SkuGroupName; + +public class SyncGetSkuGroupSkugroupname { + + public static void main(String[] args) throws Exception { + syncGetSkuGroupSkugroupname(); + } + + public static void syncGetSkuGroupSkugroupname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + SkuGroupName name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]"); + SkuGroup response = commerceTransactionClient.getSkuGroup(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_Skugroupname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupString.java new file mode 100644 index 000000000000..7bad3c3bc7f8 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getskugroup/SyncGetSkuGroupString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.cloud.commerceproducer.v1beta.SkuGroupName; + +public class SyncGetSkuGroupString { + + public static void main(String[] args) throws Exception { + syncGetSkuGroupString(); + } + + public static void syncGetSkuGroupString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = SkuGroupName.of("[PROJECT]", "[LOCATION]", "[SKU_GROUP]").toString(); + SkuGroup response = commerceTransactionClient.getSkuGroup(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetSkuGroup_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/AsyncGetStandardOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/AsyncGetStandardOffer.java new file mode 100644 index 000000000000..dd077ff26668 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/AsyncGetStandardOffer.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.StandardOfferName; +import com.google.cloud.commerceproducer.v1beta.StandardOfferView; + +public class AsyncGetStandardOffer { + + public static void main(String[] args) throws Exception { + asyncGetStandardOffer(); + } + + public static void asyncGetStandardOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetStandardOfferRequest request = + GetStandardOfferRequest.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setView(StandardOfferView.forNumber(0)) + .build(); + ApiFuture future = + commerceTransactionClient.getStandardOfferCallable().futureCall(request); + // Do something. + StandardOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOffer.java new file mode 100644 index 000000000000..48d1b76bcc8c --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOffer.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.GetStandardOfferRequest; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.StandardOfferName; +import com.google.cloud.commerceproducer.v1beta.StandardOfferView; + +public class SyncGetStandardOffer { + + public static void main(String[] args) throws Exception { + syncGetStandardOffer(); + } + + public static void syncGetStandardOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + GetStandardOfferRequest request = + GetStandardOfferRequest.newBuilder() + .setName( + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString()) + .setView(StandardOfferView.forNumber(0)) + .build(); + StandardOffer response = commerceTransactionClient.getStandardOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferStandardoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferStandardoffername.java new file mode 100644 index 000000000000..2b6c406fc9bf --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferStandardoffername.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_Standardoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.StandardOfferName; + +public class SyncGetStandardOfferStandardoffername { + + public static void main(String[] args) throws Exception { + syncGetStandardOfferStandardoffername(); + } + + public static void syncGetStandardOfferStandardoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + StandardOfferName name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]"); + StandardOffer response = commerceTransactionClient.getStandardOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_Standardoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferString.java new file mode 100644 index 000000000000..ca217f246fa6 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/getstandardoffer/SyncGetStandardOfferString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.cloud.commerceproducer.v1beta.StandardOfferName; + +public class SyncGetStandardOfferString { + + public static void main(String[] args) throws Exception { + syncGetStandardOfferString(); + } + + public static void syncGetStandardOfferString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = + StandardOfferName.of("[PROJECT]", "[LOCATION]", "[SERVICE]", "[STANDARD_OFFER]") + .toString(); + StandardOffer response = commerceTransactionClient.getStandardOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_GetStandardOffer_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocations.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocations.java new file mode 100644 index 000000000000..2beb695431b9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocations.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class AsyncListLocations { + + public static void main(String[] args) throws Exception { + asyncListLocations(); + } + + public static void asyncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + commerceTransactionClient.listLocationsPagedCallable().futureCall(request); + // Do something. + for (Location element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocationsPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocationsPaged.java new file mode 100644 index 000000000000..73019cbb9b9a --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/AsyncListLocationsPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.base.Strings; + +public class AsyncListLocationsPaged { + + public static void main(String[] args) throws Exception { + asyncListLocationsPaged(); + } + + public static void asyncListLocationsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListLocationsResponse response = + commerceTransactionClient.listLocationsCallable().call(request); + for (Location element : response.getLocationsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/SyncListLocations.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/SyncListLocations.java new file mode 100644 index 000000000000..229afe59ad0b --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listlocations/SyncListLocations.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class SyncListLocations { + + public static void main(String[] args) throws Exception { + syncListLocations(); + } + + public static void syncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Location element : commerceTransactionClient.listLocations(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListLocations_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocuments.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocuments.java new file mode 100644 index 000000000000..f1ed31ae54a2 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocuments.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class AsyncListPrivateOfferDocuments { + + public static void main(String[] args) throws Exception { + asyncListPrivateOfferDocuments(); + } + + public static void asyncListPrivateOfferDocuments() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOfferDocumentsRequest request = + ListPrivateOfferDocumentsRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + commerceTransactionClient.listPrivateOfferDocumentsPagedCallable().futureCall(request); + // Do something. + for (PrivateOfferDocument element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocumentsPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocumentsPaged.java new file mode 100644 index 000000000000..4c80b0b7cb42 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/AsyncListPrivateOfferDocumentsPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsResponse; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.common.base.Strings; + +public class AsyncListPrivateOfferDocumentsPaged { + + public static void main(String[] args) throws Exception { + asyncListPrivateOfferDocumentsPaged(); + } + + public static void asyncListPrivateOfferDocumentsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOfferDocumentsRequest request = + ListPrivateOfferDocumentsRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListPrivateOfferDocumentsResponse response = + commerceTransactionClient.listPrivateOfferDocumentsCallable().call(request); + for (PrivateOfferDocument element : response.getPrivateOfferDocumentsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocuments.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocuments.java new file mode 100644 index 000000000000..a6a3250213bf --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocuments.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOfferDocumentsRequest; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncListPrivateOfferDocuments { + + public static void main(String[] args) throws Exception { + syncListPrivateOfferDocuments(); + } + + public static void syncListPrivateOfferDocuments() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOfferDocumentsRequest request = + ListPrivateOfferDocumentsRequest.newBuilder() + .setParent( + PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (PrivateOfferDocument element : + commerceTransactionClient.listPrivateOfferDocuments(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsPrivateoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsPrivateoffername.java new file mode 100644 index 000000000000..3ccf11d8757b --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsPrivateoffername.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_Privateoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncListPrivateOfferDocumentsPrivateoffername { + + public static void main(String[] args) throws Exception { + syncListPrivateOfferDocumentsPrivateoffername(); + } + + public static void syncListPrivateOfferDocumentsPrivateoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferName parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + for (PrivateOfferDocument element : + commerceTransactionClient.listPrivateOfferDocuments(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_Privateoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsString.java new file mode 100644 index 000000000000..a9c7e0c285f4 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateofferdocuments/SyncListPrivateOfferDocumentsString.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncListPrivateOfferDocumentsString { + + public static void main(String[] args) throws Exception { + syncListPrivateOfferDocumentsString(); + } + + public static void syncListPrivateOfferDocumentsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString(); + for (PrivateOfferDocument element : + commerceTransactionClient.listPrivateOfferDocuments(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOfferDocuments_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffers.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffers.java new file mode 100644 index 000000000000..5c644747bee0 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffers.java @@ -0,0 +1,56 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class AsyncListPrivateOffers { + + public static void main(String[] args) throws Exception { + asyncListPrivateOffers(); + } + + public static void asyncListPrivateOffers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOffersRequest request = + ListPrivateOffersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = + commerceTransactionClient.listPrivateOffersPagedCallable().futureCall(request); + // Do something. + for (PrivateOffer element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffersPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffersPaged.java new file mode 100644 index 000000000000..b22877e3d96c --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/AsyncListPrivateOffersPaged.java @@ -0,0 +1,64 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersResponse; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.common.base.Strings; + +public class AsyncListPrivateOffersPaged { + + public static void main(String[] args) throws Exception { + asyncListPrivateOffersPaged(); + } + + public static void asyncListPrivateOffersPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOffersRequest request = + ListPrivateOffersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListPrivateOffersResponse response = + commerceTransactionClient.listPrivateOffersCallable().call(request); + for (PrivateOffer element : response.getPrivateOffersList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffers.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffers.java new file mode 100644 index 000000000000..7c2f2310ea96 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffers.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListPrivateOffersRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class SyncListPrivateOffers { + + public static void main(String[] args) throws Exception { + syncListPrivateOffers(); + } + + public static void syncListPrivateOffers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListPrivateOffersRequest request = + ListPrivateOffersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (PrivateOffer element : + commerceTransactionClient.listPrivateOffers(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersLocationname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersLocationname.java new file mode 100644 index 000000000000..e9e9ca0d3d34 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersLocationname.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_Locationname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class SyncListPrivateOffersLocationname { + + public static void main(String[] args) throws Exception { + syncListPrivateOffersLocationname(); + } + + public static void syncListPrivateOffersLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (PrivateOffer element : + commerceTransactionClient.listPrivateOffers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_Locationname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersString.java new file mode 100644 index 000000000000..76a38102db6f --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listprivateoffers/SyncListPrivateOffersString.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; + +public class SyncListPrivateOffersString { + + public static void main(String[] args) throws Exception { + syncListPrivateOffersString(); + } + + public static void syncListPrivateOffersString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (PrivateOffer element : + commerceTransactionClient.listPrivateOffers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListPrivateOffers_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServices.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServices.java new file mode 100644 index 000000000000..03ac56a771e9 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServices.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListServices_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.Service; + +public class AsyncListServices { + + public static void main(String[] args) throws Exception { + asyncListServices(); + } + + public static void asyncListServices() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + commerceTransactionClient.listServicesPagedCallable().futureCall(request); + // Do something. + for (Service element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServicesPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServicesPaged.java new file mode 100644 index 000000000000..78703ff83a45 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/AsyncListServicesPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListServices_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.ListServicesResponse; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.Service; +import com.google.common.base.Strings; + +public class AsyncListServicesPaged { + + public static void main(String[] args) throws Exception { + asyncListServicesPaged(); + } + + public static void asyncListServicesPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListServicesResponse response = + commerceTransactionClient.listServicesCallable().call(request); + for (Service element : response.getServicesList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServices.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServices.java new file mode 100644 index 000000000000..6d29a0f1133c --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServices.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListServices_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListServicesRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.Service; + +public class SyncListServices { + + public static void main(String[] args) throws Exception { + syncListServices(); + } + + public static void syncListServices() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Service element : commerceTransactionClient.listServices(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesLocationname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesLocationname.java new file mode 100644 index 000000000000..e10c077aada6 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListServices_Locationname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.Service; + +public class SyncListServicesLocationname { + + public static void main(String[] args) throws Exception { + syncListServicesLocationname(); + } + + public static void syncListServicesLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Service element : commerceTransactionClient.listServices(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_Locationname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesString.java new file mode 100644 index 000000000000..dd4693a1f1c1 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listservices/SyncListServicesString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListServices_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.Service; + +public class SyncListServicesString { + + public static void main(String[] args) throws Exception { + syncListServicesString(); + } + + public static void syncListServicesString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Service element : commerceTransactionClient.listServices(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListServices_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroups.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroups.java new file mode 100644 index 000000000000..4f4e52a0ed91 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroups.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; + +public class AsyncListSkuGroups { + + public static void main(String[] args) throws Exception { + asyncListSkuGroups(); + } + + public static void asyncListSkuGroups() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkuGroupsRequest request = + ListSkuGroupsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + commerceTransactionClient.listSkuGroupsPagedCallable().futureCall(request); + // Do something. + for (SkuGroup element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroupsPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroupsPaged.java new file mode 100644 index 000000000000..d7a67bbc5b8a --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/AsyncListSkuGroupsPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsResponse; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; +import com.google.common.base.Strings; + +public class AsyncListSkuGroupsPaged { + + public static void main(String[] args) throws Exception { + asyncListSkuGroupsPaged(); + } + + public static void asyncListSkuGroupsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkuGroupsRequest request = + ListSkuGroupsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListSkuGroupsResponse response = + commerceTransactionClient.listSkuGroupsCallable().call(request); + for (SkuGroup element : response.getSkuGroupsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroups.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroups.java new file mode 100644 index 000000000000..b194bc6bcda2 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroups.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkuGroupsRequest; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; + +public class SyncListSkuGroups { + + public static void main(String[] args) throws Exception { + syncListSkuGroups(); + } + + public static void syncListSkuGroups() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkuGroupsRequest request = + ListSkuGroupsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (SkuGroup element : commerceTransactionClient.listSkuGroups(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsLocationname.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsLocationname.java new file mode 100644 index 000000000000..0aa4d3a2b38d --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_Locationname_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; + +public class SyncListSkuGroupsLocationname { + + public static void main(String[] args) throws Exception { + syncListSkuGroupsLocationname(); + } + + public static void syncListSkuGroupsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (SkuGroup element : commerceTransactionClient.listSkuGroups(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_Locationname_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsString.java new file mode 100644 index 000000000000..3ed16b09afe8 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskugroups/SyncListSkuGroupsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.LocationName; +import com.google.cloud.commerceproducer.v1beta.SkuGroup; + +public class SyncListSkuGroupsString { + + public static void main(String[] args) throws Exception { + syncListSkuGroupsString(); + } + + public static void syncListSkuGroupsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (SkuGroup element : commerceTransactionClient.listSkuGroups(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkuGroups_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkus.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkus.java new file mode 100644 index 000000000000..21fdad0be610 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkus.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.Sku; + +public class AsyncListSkus { + + public static void main(String[] args) throws Exception { + asyncListSkus(); + } + + public static void asyncListSkus() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkusRequest request = + ListSkusRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = commerceTransactionClient.listSkusPagedCallable().futureCall(request); + // Do something. + for (Sku element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkusPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkusPaged.java new file mode 100644 index 000000000000..7f0a872f32a8 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/AsyncListSkusPaged.java @@ -0,0 +1,61 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ListSkusResponse; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.Sku; +import com.google.common.base.Strings; + +public class AsyncListSkusPaged { + + public static void main(String[] args) throws Exception { + asyncListSkusPaged(); + } + + public static void asyncListSkusPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkusRequest request = + ListSkusRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListSkusResponse response = commerceTransactionClient.listSkusCallable().call(request); + for (Sku element : response.getSkusList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkus.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkus.java new file mode 100644 index 000000000000..f4b9405d20ab --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkus.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListSkusRequest; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.Sku; + +public class SyncListSkus { + + public static void main(String[] args) throws Exception { + syncListSkus(); + } + + public static void syncListSkus() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListSkusRequest request = + ListSkusRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Sku element : commerceTransactionClient.listSkus(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusServicename.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusServicename.java new file mode 100644 index 000000000000..e89a0cfb3a77 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusServicename.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_Servicename_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.Sku; + +public class SyncListSkusServicename { + + public static void main(String[] args) throws Exception { + syncListSkusServicename(); + } + + public static void syncListSkusServicename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + for (Sku element : commerceTransactionClient.listSkus(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_Servicename_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusString.java new file mode 100644 index 000000000000..97d9f41247f1 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/listskus/SyncListSkusString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.Sku; + +public class SyncListSkusString { + + public static void main(String[] args) throws Exception { + syncListSkusString(); + } + + public static void syncListSkusString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString(); + for (Sku element : commerceTransactionClient.listSkus(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListSkus_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffers.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffers.java new file mode 100644 index 000000000000..e118a8c0ac13 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffers.java @@ -0,0 +1,56 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; + +public class AsyncListStandardOffers { + + public static void main(String[] args) throws Exception { + asyncListStandardOffers(); + } + + public static void asyncListStandardOffers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListStandardOffersRequest request = + ListStandardOffersRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = + commerceTransactionClient.listStandardOffersPagedCallable().futureCall(request); + // Do something. + for (StandardOffer element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffersPaged.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffersPaged.java new file mode 100644 index 000000000000..b18e281825b4 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/AsyncListStandardOffersPaged.java @@ -0,0 +1,64 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_Paged_async] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersResponse; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; +import com.google.common.base.Strings; + +public class AsyncListStandardOffersPaged { + + public static void main(String[] args) throws Exception { + asyncListStandardOffersPaged(); + } + + public static void asyncListStandardOffersPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListStandardOffersRequest request = + ListStandardOffersRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListStandardOffersResponse response = + commerceTransactionClient.listStandardOffersCallable().call(request); + for (StandardOffer element : response.getStandardOffersList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_Paged_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffers.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffers.java new file mode 100644 index 000000000000..81a0d9f245e8 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffers.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ListStandardOffersRequest; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; + +public class SyncListStandardOffers { + + public static void main(String[] args) throws Exception { + syncListStandardOffers(); + } + + public static void syncListStandardOffers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ListStandardOffersRequest request = + ListStandardOffersRequest.newBuilder() + .setParent(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (StandardOffer element : + commerceTransactionClient.listStandardOffers(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersServicename.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersServicename.java new file mode 100644 index 000000000000..db21490928f6 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersServicename.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_Servicename_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; + +public class SyncListStandardOffersServicename { + + public static void main(String[] args) throws Exception { + syncListStandardOffersServicename(); + } + + public static void syncListStandardOffersServicename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + ServiceName parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + for (StandardOffer element : + commerceTransactionClient.listStandardOffers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_Servicename_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersString.java new file mode 100644 index 000000000000..1424b6faff0b --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/liststandardoffers/SyncListStandardOffersString.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.ServiceName; +import com.google.cloud.commerceproducer.v1beta.StandardOffer; + +public class SyncListStandardOffersString { + + public static void main(String[] args) throws Exception { + syncListStandardOffersString(); + } + + public static void syncListStandardOffersString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String parent = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString(); + for (StandardOffer element : + commerceTransactionClient.listStandardOffers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_ListStandardOffers_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/AsyncPublishPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/AsyncPublishPrivateOffer.java new file mode 100644 index 000000000000..0096c066c641 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/AsyncPublishPrivateOffer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; + +public class AsyncPublishPrivateOffer { + + public static void main(String[] args) throws Exception { + asyncPublishPrivateOffer(); + } + + public static void asyncPublishPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PublishPrivateOfferRequest request = + PublishPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setValidateOnly(true) + .build(); + ApiFuture future = + commerceTransactionClient.publishPrivateOfferCallable().futureCall(request); + // Do something. + PrivateOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOffer.java new file mode 100644 index 000000000000..99c8c7356af8 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOffer.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; +import com.google.cloud.commerceproducer.v1beta.PublishPrivateOfferRequest; + +public class SyncPublishPrivateOffer { + + public static void main(String[] args) throws Exception { + syncPublishPrivateOffer(); + } + + public static void syncPublishPrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PublishPrivateOfferRequest request = + PublishPrivateOfferRequest.newBuilder() + .setName(PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString()) + .setValidateOnly(true) + .build(); + PrivateOffer response = commerceTransactionClient.publishPrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferPrivateoffername.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferPrivateoffername.java new file mode 100644 index 000000000000..ec28fe57f9f0 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferPrivateoffername.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_Privateoffername_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncPublishPrivateOfferPrivateoffername { + + public static void main(String[] args) throws Exception { + syncPublishPrivateOfferPrivateoffername(); + } + + public static void syncPublishPrivateOfferPrivateoffername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferName name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]"); + PrivateOffer response = commerceTransactionClient.publishPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_Privateoffername_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferString.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferString.java new file mode 100644 index 000000000000..d92f9dad19c4 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/publishprivateoffer/SyncPublishPrivateOfferString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_String_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferName; + +public class SyncPublishPrivateOfferString { + + public static void main(String[] args) throws Exception { + syncPublishPrivateOfferString(); + } + + public static void syncPublishPrivateOfferString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + String name = PrivateOfferName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_OFFER]").toString(); + PrivateOffer response = commerceTransactionClient.publishPrivateOffer(name); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_PublishPrivateOffer_String_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/AsyncUpdatePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/AsyncUpdatePrivateOffer.java new file mode 100644 index 000000000000..dc6faf131652 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/AsyncUpdatePrivateOffer.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.protobuf.FieldMask; + +public class AsyncUpdatePrivateOffer { + + public static void main(String[] args) throws Exception { + asyncUpdatePrivateOffer(); + } + + public static void asyncUpdatePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + UpdatePrivateOfferRequest request = + UpdatePrivateOfferRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + ApiFuture future = + commerceTransactionClient.updatePrivateOfferCallable().futureCall(request); + // Do something. + PrivateOffer response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOffer.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOffer.java new file mode 100644 index 000000000000..640cfd7eaa83 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOffer.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdatePrivateOffer { + + public static void main(String[] args) throws Exception { + syncUpdatePrivateOffer(); + } + + public static void syncUpdatePrivateOffer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + UpdatePrivateOfferRequest request = + UpdatePrivateOfferRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setPrivateOffer(PrivateOffer.newBuilder().build()) + .build(); + PrivateOffer response = commerceTransactionClient.updatePrivateOffer(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOfferPrivateofferFieldmask.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOfferPrivateofferFieldmask.java new file mode 100644 index 000000000000..ef6a9f868718 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateoffer/SyncUpdatePrivateOfferPrivateofferFieldmask.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_PrivateofferFieldmask_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOffer; +import com.google.protobuf.FieldMask; + +public class SyncUpdatePrivateOfferPrivateofferFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdatePrivateOfferPrivateofferFieldmask(); + } + + public static void syncUpdatePrivateOfferPrivateofferFieldmask() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOffer privateOffer = PrivateOffer.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + PrivateOffer response = + commerceTransactionClient.updatePrivateOffer(privateOffer, updateMask); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOffer_PrivateofferFieldmask_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/AsyncUpdatePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/AsyncUpdatePrivateOfferDocument.java new file mode 100644 index 000000000000..be124a8856a5 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/AsyncUpdatePrivateOfferDocument.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.protobuf.FieldMask; + +public class AsyncUpdatePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + asyncUpdatePrivateOfferDocument(); + } + + public static void asyncUpdatePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + UpdatePrivateOfferDocumentRequest request = + UpdatePrivateOfferDocumentRequest.newBuilder() + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .build(); + ApiFuture future = + commerceTransactionClient.updatePrivateOfferDocumentCallable().futureCall(request); + // Do something. + PrivateOfferDocument response = future.get(); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_async] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocument.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocument.java new file mode 100644 index 000000000000..4b7159ab3c4d --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocument.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.cloud.commerceproducer.v1beta.UpdatePrivateOfferDocumentRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdatePrivateOfferDocument { + + public static void main(String[] args) throws Exception { + syncUpdatePrivateOfferDocument(); + } + + public static void syncUpdatePrivateOfferDocument() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + UpdatePrivateOfferDocumentRequest request = + UpdatePrivateOfferDocumentRequest.newBuilder() + .setPrivateOfferDocument(PrivateOfferDocument.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .build(); + PrivateOfferDocument response = commerceTransactionClient.updatePrivateOfferDocument(request); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask.java new file mode 100644 index 000000000000..51cbe6bbcb26 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransaction/updateprivateofferdocument/SyncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_PrivateofferdocumentFieldmask_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionClient; +import com.google.cloud.commerceproducer.v1beta.PrivateOfferDocument; +import com.google.protobuf.FieldMask; + +public class SyncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask(); + } + + public static void syncUpdatePrivateOfferDocumentPrivateofferdocumentFieldmask() + throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (CommerceTransactionClient commerceTransactionClient = CommerceTransactionClient.create()) { + PrivateOfferDocument privateOfferDocument = PrivateOfferDocument.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + PrivateOfferDocument response = + commerceTransactionClient.updatePrivateOfferDocument(privateOfferDocument, updateMask); + } + } +} +// [END commerceproducer_v1beta_generated_CommerceTransaction_UpdatePrivateOfferDocument_PrivateofferdocumentFieldmask_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransactionsettings/getservice/SyncGetService.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransactionsettings/getservice/SyncGetService.java new file mode 100644 index 000000000000..fb1652538e58 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/commercetransactionsettings/getservice/SyncGetService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransactionSettings_GetService_sync] +import com.google.cloud.commerceproducer.v1beta.CommerceTransactionSettings; +import java.time.Duration; + +public class SyncGetService { + + public static void main(String[] args) throws Exception { + syncGetService(); + } + + public static void syncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + CommerceTransactionSettings.Builder commerceTransactionSettingsBuilder = + CommerceTransactionSettings.newBuilder(); + commerceTransactionSettingsBuilder + .getServiceSettings() + .setRetrySettings( + commerceTransactionSettingsBuilder + .getServiceSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + CommerceTransactionSettings commerceTransactionSettings = + commerceTransactionSettingsBuilder.build(); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransactionSettings_GetService_sync] diff --git a/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/stub/commercetransactionstubsettings/getservice/SyncGetService.java b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/stub/commercetransactionstubsettings/getservice/SyncGetService.java new file mode 100644 index 000000000000..bde7031211a7 --- /dev/null +++ b/java-commerceproducer/samples/snippets/generated/com/google/cloud/commerceproducer/v1beta/stub/commercetransactionstubsettings/getservice/SyncGetService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.commerceproducer.v1beta.stub.samples; + +// [START commerceproducer_v1beta_generated_CommerceTransactionStubSettings_GetService_sync] +import com.google.cloud.commerceproducer.v1beta.stub.CommerceTransactionStubSettings; +import java.time.Duration; + +public class SyncGetService { + + public static void main(String[] args) throws Exception { + syncGetService(); + } + + public static void syncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + CommerceTransactionStubSettings.Builder commerceTransactionSettingsBuilder = + CommerceTransactionStubSettings.newBuilder(); + commerceTransactionSettingsBuilder + .getServiceSettings() + .setRetrySettings( + commerceTransactionSettingsBuilder + .getServiceSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + CommerceTransactionStubSettings commerceTransactionSettings = + commerceTransactionSettingsBuilder.build(); + } +} +// [END commerceproducer_v1beta_generated_CommerceTransactionStubSettings_GetService_sync] diff --git a/librarian.yaml b/librarian.yaml index 70bef0d3df22..df0b89acad44 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -958,6 +958,13 @@ libraries: api_description_override: Manages Google Cloud technical support cases for Customer Care support offerings. name_pretty_override: Google Cloud Support API product_documentation_override: https://cloud.google.com/support/docs/reference/support-api/ + - name: commerceproducer + version: 0.1.0-SNAPSHOT + apis: + - path: google/cloud/commerceproducer/v1beta + java: + additional_protos: + - path: google/cloud/location/locations.proto - name: common-protos version: 2.74.0-SNAPSHOT apis: diff --git a/pom.xml b/pom.xml index 7c4728b845ad..96897977e059 100644 --- a/pom.xml +++ b/pom.xml @@ -80,6 +80,7 @@ java-cloudquotas java-cloudsecuritycompliance java-cloudsupport + java-commerceproducer java-common-protos java-compute java-confidentialcomputing diff --git a/versions.txt b/versions.txt index 516260064930..857a9db73e27 100644 --- a/versions.txt +++ b/versions.txt @@ -1077,3 +1077,8 @@ grpc-google-cloud-agentidentity-v1:0.0.0:0.1.0-SNAPSHOT google-cloud-agentidentity:0.0.0:0.1.0-SNAPSHOT proto-google-cloud-agentidentity-v1beta:0.0.0:0.1.0-SNAPSHOT grpc-google-cloud-agentidentity-v1beta:0.0.0:0.1.0-SNAPSHOT +google-cloud-commerceproducer-parent:0.0.0:0.1.0-SNAPSHOT +google-cloud-commerceproducer-bom:0.0.0:0.1.0-SNAPSHOT +proto-google-cloud-commerceproducer-v1beta:0.0.0:0.1.0-SNAPSHOT +grpc-google-cloud-commerceproducer-v1beta:0.0.0:0.1.0-SNAPSHOT +google-cloud-commerceproducer:0.0.0:0.1.0-SNAPSHOT