com.google.cloud.retail.v2alpha.Product Maven / Gradle / Ivy
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/cloud/retail/v2alpha/product.proto
// Protobuf Java Version: 3.25.2
package com.google.cloud.retail.v2alpha;
/**
*
*
*
* Product captures all metadata information of items to be recommended or
* searched.
*
*
* Protobuf type {@code google.cloud.retail.v2alpha.Product}
*/
public final class Product extends com.google.protobuf.GeneratedMessageV3
implements
// @@protoc_insertion_point(message_implements:google.cloud.retail.v2alpha.Product)
ProductOrBuilder {
private static final long serialVersionUID = 0L;
// Use Product.newBuilder() to construct.
private Product(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private Product() {
name_ = "";
id_ = "";
type_ = 0;
primaryProductId_ = "";
collectionMemberIds_ = com.google.protobuf.LazyStringArrayList.emptyList();
gtin_ = "";
categories_ = com.google.protobuf.LazyStringArrayList.emptyList();
title_ = "";
brands_ = com.google.protobuf.LazyStringArrayList.emptyList();
description_ = "";
languageCode_ = "";
tags_ = com.google.protobuf.LazyStringArrayList.emptyList();
availability_ = 0;
fulfillmentInfo_ = java.util.Collections.emptyList();
uri_ = "";
images_ = java.util.Collections.emptyList();
sizes_ = com.google.protobuf.LazyStringArrayList.emptyList();
materials_ = com.google.protobuf.LazyStringArrayList.emptyList();
patterns_ = com.google.protobuf.LazyStringArrayList.emptyList();
conditions_ = com.google.protobuf.LazyStringArrayList.emptyList();
promotions_ = java.util.Collections.emptyList();
variants_ = java.util.Collections.emptyList();
localInventories_ = java.util.Collections.emptyList();
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Product();
}
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_descriptor;
}
@SuppressWarnings({"rawtypes"})
@java.lang.Override
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(
int number) {
switch (number) {
case 12:
return internalGetAttributes();
default:
throw new RuntimeException("Invalid map field number: " + number);
}
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.google.cloud.retail.v2alpha.Product.class,
com.google.cloud.retail.v2alpha.Product.Builder.class);
}
/**
*
*
*
* The type of this product.
*
*
* Protobuf enum {@code google.cloud.retail.v2alpha.Product.Type}
*/
public enum Type implements com.google.protobuf.ProtocolMessageEnum {
/**
*
*
*
* Default value. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
* TYPE_UNSPECIFIED = 0;
*/
TYPE_UNSPECIFIED(0),
/**
*
*
*
* The primary type.
*
* As the primary unit for predicting, indexing and search serving, a
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] is grouped with multiple
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
*
* PRIMARY = 1;
*/
PRIMARY(1),
/**
*
*
*
* The variant type.
*
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s usually share some common
* attributes on the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, but they have variant
* attributes like different colors, sizes and prices, etc.
*
*
* VARIANT = 2;
*/
VARIANT(2),
/**
*
*
*
* The collection type. Collection products are bundled
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s that are sold together,
* such as a jewelry set with necklaces, earrings and rings, etc.
*
*
* COLLECTION = 3;
*/
COLLECTION(3),
UNRECOGNIZED(-1),
;
/**
*
*
*
* Default value. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
* TYPE_UNSPECIFIED = 0;
*/
public static final int TYPE_UNSPECIFIED_VALUE = 0;
/**
*
*
*
* The primary type.
*
* As the primary unit for predicting, indexing and search serving, a
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] is grouped with multiple
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
*
* PRIMARY = 1;
*/
public static final int PRIMARY_VALUE = 1;
/**
*
*
*
* The variant type.
*
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s usually share some common
* attributes on the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, but they have variant
* attributes like different colors, sizes and prices, etc.
*
*
* VARIANT = 2;
*/
public static final int VARIANT_VALUE = 2;
/**
*
*
*
* The collection type. Collection products are bundled
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
* [Product][google.cloud.retail.v2alpha.Product]s that are sold together,
* such as a jewelry set with necklaces, earrings and rings, etc.
*
*
* COLLECTION = 3;
*/
public static final int COLLECTION_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 Type 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 Type forNumber(int value) {
switch (value) {
case 0:
return TYPE_UNSPECIFIED;
case 1:
return PRIMARY;
case 2:
return VARIANT;
case 3:
return COLLECTION;
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 Type findValueByNumber(int number) {
return Type.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 final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
return com.google.cloud.retail.v2alpha.Product.getDescriptor().getEnumTypes().get(0);
}
private static final Type[] VALUES = values();
public static Type 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 Type(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:google.cloud.retail.v2alpha.Product.Type)
}
/**
*
*
*
* Product availability. If this field is unspecified, the product is
* assumed to be in stock.
*
*
* Protobuf enum {@code google.cloud.retail.v2alpha.Product.Availability}
*/
public enum Availability implements com.google.protobuf.ProtocolMessageEnum {
/**
*
*
*
* Default product availability. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK]
* if unset.
*
*
* AVAILABILITY_UNSPECIFIED = 0;
*/
AVAILABILITY_UNSPECIFIED(0),
/**
*
*
*
* Product in stock.
*
*
* IN_STOCK = 1;
*/
IN_STOCK(1),
/**
*
*
*
* Product out of stock.
*
*
* OUT_OF_STOCK = 2;
*/
OUT_OF_STOCK(2),
/**
*
*
*
* Product that is in pre-order state.
*
*
* PREORDER = 3;
*/
PREORDER(3),
/**
*
*
*
* Product that is back-ordered (i.e. temporarily out of stock).
*
*
* BACKORDER = 4;
*/
BACKORDER(4),
UNRECOGNIZED(-1),
;
/**
*
*
*
* Default product availability. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK]
* if unset.
*
*
* AVAILABILITY_UNSPECIFIED = 0;
*/
public static final int AVAILABILITY_UNSPECIFIED_VALUE = 0;
/**
*
*
*
* Product in stock.
*
*
* IN_STOCK = 1;
*/
public static final int IN_STOCK_VALUE = 1;
/**
*
*
*
* Product out of stock.
*
*
* OUT_OF_STOCK = 2;
*/
public static final int OUT_OF_STOCK_VALUE = 2;
/**
*
*
*
* Product that is in pre-order state.
*
*
* PREORDER = 3;
*/
public static final int PREORDER_VALUE = 3;
/**
*
*
*
* Product that is back-ordered (i.e. temporarily out of stock).
*
*
* BACKORDER = 4;
*/
public static final int BACKORDER_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 Availability 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 Availability forNumber(int value) {
switch (value) {
case 0:
return AVAILABILITY_UNSPECIFIED;
case 1:
return IN_STOCK;
case 2:
return OUT_OF_STOCK;
case 3:
return PREORDER;
case 4:
return BACKORDER;
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 Availability findValueByNumber(int number) {
return Availability.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 final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
return com.google.cloud.retail.v2alpha.Product.getDescriptor().getEnumTypes().get(1);
}
private static final Availability[] VALUES = values();
public static Availability 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 Availability(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:google.cloud.retail.v2alpha.Product.Availability)
}
private int bitField0_;
private int expirationCase_ = 0;
@SuppressWarnings("serial")
private java.lang.Object expiration_;
public enum ExpirationCase
implements
com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
EXPIRE_TIME(16),
TTL(17),
EXPIRATION_NOT_SET(0);
private final int value;
private ExpirationCase(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 ExpirationCase valueOf(int value) {
return forNumber(value);
}
public static ExpirationCase forNumber(int value) {
switch (value) {
case 16:
return EXPIRE_TIME;
case 17:
return TTL;
case 0:
return EXPIRATION_NOT_SET;
default:
return null;
}
}
public int getNumber() {
return this.value;
}
};
public ExpirationCase getExpirationCase() {
return ExpirationCase.forNumber(expirationCase_);
}
public static final int EXPIRE_TIME_FIELD_NUMBER = 16;
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*
* @return Whether the expireTime field is set.
*/
@java.lang.Override
public boolean hasExpireTime() {
return expirationCase_ == 16;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*
* @return The expireTime.
*/
@java.lang.Override
public com.google.protobuf.Timestamp getExpireTime() {
if (expirationCase_ == 16) {
return (com.google.protobuf.Timestamp) expiration_;
}
return com.google.protobuf.Timestamp.getDefaultInstance();
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
@java.lang.Override
public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() {
if (expirationCase_ == 16) {
return (com.google.protobuf.Timestamp) expiration_;
}
return com.google.protobuf.Timestamp.getDefaultInstance();
}
public static final int TTL_FIELD_NUMBER = 17;
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return Whether the ttl field is set.
*/
@java.lang.Override
public boolean hasTtl() {
return expirationCase_ == 17;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return The ttl.
*/
@java.lang.Override
public com.google.protobuf.Duration getTtl() {
if (expirationCase_ == 17) {
return (com.google.protobuf.Duration) expiration_;
}
return com.google.protobuf.Duration.getDefaultInstance();
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getTtlOrBuilder() {
if (expirationCase_ == 17) {
return (com.google.protobuf.Duration) expiration_;
}
return com.google.protobuf.Duration.getDefaultInstance();
}
public static final int NAME_FIELD_NUMBER = 1;
@SuppressWarnings("serial")
private volatile java.lang.Object name_ = "";
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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;
}
}
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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 ID_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
private volatile java.lang.Object id_ = "";
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The id.
*/
@java.lang.Override
public java.lang.String getId() {
java.lang.Object ref = id_;
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();
id_ = s;
return s;
}
}
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The bytes for id.
*/
@java.lang.Override
public com.google.protobuf.ByteString getIdBytes() {
java.lang.Object ref = id_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
id_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int TYPE_FIELD_NUMBER = 3;
private int type_ = 0;
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The enum numeric value on the wire for type.
*/
@java.lang.Override
public int getTypeValue() {
return type_;
}
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The type.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product.Type getType() {
com.google.cloud.retail.v2alpha.Product.Type result =
com.google.cloud.retail.v2alpha.Product.Type.forNumber(type_);
return result == null ? com.google.cloud.retail.v2alpha.Product.Type.UNRECOGNIZED : result;
}
public static final int PRIMARY_PRODUCT_ID_FIELD_NUMBER = 4;
@SuppressWarnings("serial")
private volatile java.lang.Object primaryProductId_ = "";
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @return The primaryProductId.
*/
@java.lang.Override
public java.lang.String getPrimaryProductId() {
java.lang.Object ref = primaryProductId_;
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();
primaryProductId_ = s;
return s;
}
}
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @return The bytes for primaryProductId.
*/
@java.lang.Override
public com.google.protobuf.ByteString getPrimaryProductIdBytes() {
java.lang.Object ref = primaryProductId_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
primaryProductId_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int COLLECTION_MEMBER_IDS_FIELD_NUMBER = 5;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList collectionMemberIds_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @return A list containing the collectionMemberIds.
*/
public com.google.protobuf.ProtocolStringList getCollectionMemberIdsList() {
return collectionMemberIds_;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @return The count of collectionMemberIds.
*/
public int getCollectionMemberIdsCount() {
return collectionMemberIds_.size();
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param index The index of the element to return.
* @return The collectionMemberIds at the given index.
*/
public java.lang.String getCollectionMemberIds(int index) {
return collectionMemberIds_.get(index);
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param index The index of the value to return.
* @return The bytes of the collectionMemberIds at the given index.
*/
public com.google.protobuf.ByteString getCollectionMemberIdsBytes(int index) {
return collectionMemberIds_.getByteString(index);
}
public static final int GTIN_FIELD_NUMBER = 6;
@SuppressWarnings("serial")
private volatile java.lang.Object gtin_ = "";
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @return The gtin.
*/
@java.lang.Override
public java.lang.String getGtin() {
java.lang.Object ref = gtin_;
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();
gtin_ = s;
return s;
}
}
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @return The bytes for gtin.
*/
@java.lang.Override
public com.google.protobuf.ByteString getGtinBytes() {
java.lang.Object ref = gtin_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
gtin_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int CATEGORIES_FIELD_NUMBER = 7;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList categories_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @return A list containing the categories.
*/
public com.google.protobuf.ProtocolStringList getCategoriesList() {
return categories_;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @return The count of categories.
*/
public int getCategoriesCount() {
return categories_.size();
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param index The index of the element to return.
* @return The categories at the given index.
*/
public java.lang.String getCategories(int index) {
return categories_.get(index);
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param index The index of the value to return.
* @return The bytes of the categories at the given index.
*/
public com.google.protobuf.ByteString getCategoriesBytes(int index) {
return categories_.getByteString(index);
}
public static final int TITLE_FIELD_NUMBER = 8;
@SuppressWarnings("serial")
private volatile java.lang.Object title_ = "";
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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;
}
}
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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 BRANDS_FIELD_NUMBER = 9;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList brands_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @return A list containing the brands.
*/
public com.google.protobuf.ProtocolStringList getBrandsList() {
return brands_;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @return The count of brands.
*/
public int getBrandsCount() {
return brands_.size();
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param index The index of the element to return.
* @return The brands at the given index.
*/
public java.lang.String getBrands(int index) {
return brands_.get(index);
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param index The index of the value to return.
* @return The bytes of the brands at the given index.
*/
public com.google.protobuf.ByteString getBrandsBytes(int index) {
return brands_.getByteString(index);
}
public static final int DESCRIPTION_FIELD_NUMBER = 10;
@SuppressWarnings("serial")
private volatile java.lang.Object description_ = "";
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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;
}
}
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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 LANGUAGE_CODE_FIELD_NUMBER = 11;
@SuppressWarnings("serial")
private volatile java.lang.Object languageCode_ = "";
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @return The languageCode.
*/
@java.lang.Override
public java.lang.String getLanguageCode() {
java.lang.Object ref = languageCode_;
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();
languageCode_ = s;
return s;
}
}
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @return The bytes for languageCode.
*/
@java.lang.Override
public com.google.protobuf.ByteString getLanguageCodeBytes() {
java.lang.Object ref = languageCode_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
languageCode_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int ATTRIBUTES_FIELD_NUMBER = 12;
private static final class AttributesDefaultEntryHolder {
static final com.google.protobuf.MapEntry<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
defaultEntry =
com.google.protobuf.MapEntry
.
newDefaultInstance(
com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_AttributesEntry_descriptor,
com.google.protobuf.WireFormat.FieldType.STRING,
"",
com.google.protobuf.WireFormat.FieldType.MESSAGE,
com.google.cloud.retail.v2alpha.CustomAttribute.getDefaultInstance());
}
@SuppressWarnings("serial")
private com.google.protobuf.MapField<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
attributes_;
private com.google.protobuf.MapField<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
internalGetAttributes() {
if (attributes_ == null) {
return com.google.protobuf.MapField.emptyMapField(AttributesDefaultEntryHolder.defaultEntry);
}
return attributes_;
}
public int getAttributesCount() {
return internalGetAttributes().getMap().size();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public boolean containsAttributes(java.lang.String key) {
if (key == null) {
throw new NullPointerException("map key");
}
return internalGetAttributes().getMap().containsKey(key);
}
/** Use {@link #getAttributesMap()} instead. */
@java.lang.Override
@java.lang.Deprecated
public java.util.Map
getAttributes() {
return getAttributesMap();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public java.util.Map
getAttributesMap() {
return internalGetAttributes().getMap();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public /* nullable */ com.google.cloud.retail.v2alpha.CustomAttribute getAttributesOrDefault(
java.lang.String key,
/* nullable */
com.google.cloud.retail.v2alpha.CustomAttribute defaultValue) {
if (key == null) {
throw new NullPointerException("map key");
}
java.util.Map map =
internalGetAttributes().getMap();
return map.containsKey(key) ? map.get(key) : defaultValue;
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.CustomAttribute getAttributesOrThrow(
java.lang.String key) {
if (key == null) {
throw new NullPointerException("map key");
}
java.util.Map map =
internalGetAttributes().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public static final int TAGS_FIELD_NUMBER = 13;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList tags_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @return A list containing the tags.
*/
public com.google.protobuf.ProtocolStringList getTagsList() {
return tags_;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @return The count of tags.
*/
public int getTagsCount() {
return tags_.size();
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param index The index of the element to return.
* @return The tags at the given index.
*/
public java.lang.String getTags(int index) {
return tags_.get(index);
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param index The index of the value to return.
* @return The bytes of the tags at the given index.
*/
public com.google.protobuf.ByteString getTagsBytes(int index) {
return tags_.getByteString(index);
}
public static final int PRICE_INFO_FIELD_NUMBER = 14;
private com.google.cloud.retail.v2alpha.PriceInfo priceInfo_;
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*
* @return Whether the priceInfo field is set.
*/
@java.lang.Override
public boolean hasPriceInfo() {
return ((bitField0_ & 0x00000001) != 0);
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*
* @return The priceInfo.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.PriceInfo getPriceInfo() {
return priceInfo_ == null
? com.google.cloud.retail.v2alpha.PriceInfo.getDefaultInstance()
: priceInfo_;
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.PriceInfoOrBuilder getPriceInfoOrBuilder() {
return priceInfo_ == null
? com.google.cloud.retail.v2alpha.PriceInfo.getDefaultInstance()
: priceInfo_;
}
public static final int RATING_FIELD_NUMBER = 15;
private com.google.cloud.retail.v2alpha.Rating rating_;
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*
* @return Whether the rating field is set.
*/
@java.lang.Override
public boolean hasRating() {
return ((bitField0_ & 0x00000002) != 0);
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*
* @return The rating.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Rating getRating() {
return rating_ == null ? com.google.cloud.retail.v2alpha.Rating.getDefaultInstance() : rating_;
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.RatingOrBuilder getRatingOrBuilder() {
return rating_ == null ? com.google.cloud.retail.v2alpha.Rating.getDefaultInstance() : rating_;
}
public static final int AVAILABLE_TIME_FIELD_NUMBER = 18;
private com.google.protobuf.Timestamp availableTime_;
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*
* @return Whether the availableTime field is set.
*/
@java.lang.Override
public boolean hasAvailableTime() {
return ((bitField0_ & 0x00000004) != 0);
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*
* @return The availableTime.
*/
@java.lang.Override
public com.google.protobuf.Timestamp getAvailableTime() {
return availableTime_ == null
? com.google.protobuf.Timestamp.getDefaultInstance()
: availableTime_;
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
@java.lang.Override
public com.google.protobuf.TimestampOrBuilder getAvailableTimeOrBuilder() {
return availableTime_ == null
? com.google.protobuf.Timestamp.getDefaultInstance()
: availableTime_;
}
public static final int AVAILABILITY_FIELD_NUMBER = 19;
private int availability_ = 0;
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @return The enum numeric value on the wire for availability.
*/
@java.lang.Override
public int getAvailabilityValue() {
return availability_;
}
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @return The availability.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product.Availability getAvailability() {
com.google.cloud.retail.v2alpha.Product.Availability result =
com.google.cloud.retail.v2alpha.Product.Availability.forNumber(availability_);
return result == null
? com.google.cloud.retail.v2alpha.Product.Availability.UNRECOGNIZED
: result;
}
public static final int AVAILABLE_QUANTITY_FIELD_NUMBER = 20;
private com.google.protobuf.Int32Value availableQuantity_;
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*
* @return Whether the availableQuantity field is set.
*/
@java.lang.Override
public boolean hasAvailableQuantity() {
return ((bitField0_ & 0x00000008) != 0);
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*
* @return The availableQuantity.
*/
@java.lang.Override
public com.google.protobuf.Int32Value getAvailableQuantity() {
return availableQuantity_ == null
? com.google.protobuf.Int32Value.getDefaultInstance()
: availableQuantity_;
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
@java.lang.Override
public com.google.protobuf.Int32ValueOrBuilder getAvailableQuantityOrBuilder() {
return availableQuantity_ == null
? com.google.protobuf.Int32Value.getDefaultInstance()
: availableQuantity_;
}
public static final int FULFILLMENT_INFO_FIELD_NUMBER = 21;
@SuppressWarnings("serial")
private java.util.List fulfillmentInfo_;
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
@java.lang.Override
public java.util.List getFulfillmentInfoList() {
return fulfillmentInfo_;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
@java.lang.Override
public java.util.List extends com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder>
getFulfillmentInfoOrBuilderList() {
return fulfillmentInfo_;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
@java.lang.Override
public int getFulfillmentInfoCount() {
return fulfillmentInfo_.size();
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.FulfillmentInfo getFulfillmentInfo(int index) {
return fulfillmentInfo_.get(index);
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder getFulfillmentInfoOrBuilder(
int index) {
return fulfillmentInfo_.get(index);
}
public static final int URI_FIELD_NUMBER = 22;
@SuppressWarnings("serial")
private volatile java.lang.Object uri_ = "";
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @return The uri.
*/
@java.lang.Override
public java.lang.String getUri() {
java.lang.Object ref = uri_;
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();
uri_ = s;
return s;
}
}
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @return The bytes for uri.
*/
@java.lang.Override
public com.google.protobuf.ByteString getUriBytes() {
java.lang.Object ref = uri_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
uri_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int IMAGES_FIELD_NUMBER = 23;
@SuppressWarnings("serial")
private java.util.List images_;
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
@java.lang.Override
public java.util.List getImagesList() {
return images_;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
@java.lang.Override
public java.util.List extends com.google.cloud.retail.v2alpha.ImageOrBuilder>
getImagesOrBuilderList() {
return images_;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
@java.lang.Override
public int getImagesCount() {
return images_.size();
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Image getImages(int index) {
return images_.get(index);
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.ImageOrBuilder getImagesOrBuilder(int index) {
return images_.get(index);
}
public static final int AUDIENCE_FIELD_NUMBER = 24;
private com.google.cloud.retail.v2alpha.Audience audience_;
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*
* @return Whether the audience field is set.
*/
@java.lang.Override
public boolean hasAudience() {
return ((bitField0_ & 0x00000010) != 0);
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*
* @return The audience.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Audience getAudience() {
return audience_ == null
? com.google.cloud.retail.v2alpha.Audience.getDefaultInstance()
: audience_;
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.AudienceOrBuilder getAudienceOrBuilder() {
return audience_ == null
? com.google.cloud.retail.v2alpha.Audience.getDefaultInstance()
: audience_;
}
public static final int COLOR_INFO_FIELD_NUMBER = 25;
private com.google.cloud.retail.v2alpha.ColorInfo colorInfo_;
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*
* @return Whether the colorInfo field is set.
*/
@java.lang.Override
public boolean hasColorInfo() {
return ((bitField0_ & 0x00000020) != 0);
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*
* @return The colorInfo.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.ColorInfo getColorInfo() {
return colorInfo_ == null
? com.google.cloud.retail.v2alpha.ColorInfo.getDefaultInstance()
: colorInfo_;
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.ColorInfoOrBuilder getColorInfoOrBuilder() {
return colorInfo_ == null
? com.google.cloud.retail.v2alpha.ColorInfo.getDefaultInstance()
: colorInfo_;
}
public static final int SIZES_FIELD_NUMBER = 26;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList sizes_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @return A list containing the sizes.
*/
public com.google.protobuf.ProtocolStringList getSizesList() {
return sizes_;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @return The count of sizes.
*/
public int getSizesCount() {
return sizes_.size();
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param index The index of the element to return.
* @return The sizes at the given index.
*/
public java.lang.String getSizes(int index) {
return sizes_.get(index);
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param index The index of the value to return.
* @return The bytes of the sizes at the given index.
*/
public com.google.protobuf.ByteString getSizesBytes(int index) {
return sizes_.getByteString(index);
}
public static final int MATERIALS_FIELD_NUMBER = 27;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList materials_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @return A list containing the materials.
*/
public com.google.protobuf.ProtocolStringList getMaterialsList() {
return materials_;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @return The count of materials.
*/
public int getMaterialsCount() {
return materials_.size();
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param index The index of the element to return.
* @return The materials at the given index.
*/
public java.lang.String getMaterials(int index) {
return materials_.get(index);
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param index The index of the value to return.
* @return The bytes of the materials at the given index.
*/
public com.google.protobuf.ByteString getMaterialsBytes(int index) {
return materials_.getByteString(index);
}
public static final int PATTERNS_FIELD_NUMBER = 28;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList patterns_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @return A list containing the patterns.
*/
public com.google.protobuf.ProtocolStringList getPatternsList() {
return patterns_;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @return The count of patterns.
*/
public int getPatternsCount() {
return patterns_.size();
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param index The index of the element to return.
* @return The patterns at the given index.
*/
public java.lang.String getPatterns(int index) {
return patterns_.get(index);
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param index The index of the value to return.
* @return The bytes of the patterns at the given index.
*/
public com.google.protobuf.ByteString getPatternsBytes(int index) {
return patterns_.getByteString(index);
}
public static final int CONDITIONS_FIELD_NUMBER = 29;
@SuppressWarnings("serial")
private com.google.protobuf.LazyStringArrayList conditions_ =
com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @return A list containing the conditions.
*/
public com.google.protobuf.ProtocolStringList getConditionsList() {
return conditions_;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @return The count of conditions.
*/
public int getConditionsCount() {
return conditions_.size();
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param index The index of the element to return.
* @return The conditions at the given index.
*/
public java.lang.String getConditions(int index) {
return conditions_.get(index);
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param index The index of the value to return.
* @return The bytes of the conditions at the given index.
*/
public com.google.protobuf.ByteString getConditionsBytes(int index) {
return conditions_.getByteString(index);
}
public static final int PROMOTIONS_FIELD_NUMBER = 34;
@SuppressWarnings("serial")
private java.util.List promotions_;
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
@java.lang.Override
public java.util.List getPromotionsList() {
return promotions_;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
@java.lang.Override
public java.util.List extends com.google.cloud.retail.v2alpha.PromotionOrBuilder>
getPromotionsOrBuilderList() {
return promotions_;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
@java.lang.Override
public int getPromotionsCount() {
return promotions_.size();
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Promotion getPromotions(int index) {
return promotions_.get(index);
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.PromotionOrBuilder getPromotionsOrBuilder(int index) {
return promotions_.get(index);
}
public static final int PUBLISH_TIME_FIELD_NUMBER = 33;
private com.google.protobuf.Timestamp publishTime_;
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*
* @return Whether the publishTime field is set.
*/
@java.lang.Override
public boolean hasPublishTime() {
return ((bitField0_ & 0x00000040) != 0);
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*
* @return The publishTime.
*/
@java.lang.Override
public com.google.protobuf.Timestamp getPublishTime() {
return publishTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : publishTime_;
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
@java.lang.Override
public com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder() {
return publishTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : publishTime_;
}
public static final int RETRIEVABLE_FIELDS_FIELD_NUMBER = 30;
private com.google.protobuf.FieldMask retrievableFields_;
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*
* @deprecated google.cloud.retail.v2alpha.Product.retrievable_fields is deprecated. See
* google/cloud/retail/v2alpha/product.proto;l=574
* @return Whether the retrievableFields field is set.
*/
@java.lang.Override
@java.lang.Deprecated
public boolean hasRetrievableFields() {
return ((bitField0_ & 0x00000080) != 0);
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*
* @deprecated google.cloud.retail.v2alpha.Product.retrievable_fields is deprecated. See
* google/cloud/retail/v2alpha/product.proto;l=574
* @return The retrievableFields.
*/
@java.lang.Override
@java.lang.Deprecated
public com.google.protobuf.FieldMask getRetrievableFields() {
return retrievableFields_ == null
? com.google.protobuf.FieldMask.getDefaultInstance()
: retrievableFields_;
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Override
@java.lang.Deprecated
public com.google.protobuf.FieldMaskOrBuilder getRetrievableFieldsOrBuilder() {
return retrievableFields_ == null
? com.google.protobuf.FieldMask.getDefaultInstance()
: retrievableFields_;
}
public static final int VARIANTS_FIELD_NUMBER = 31;
@SuppressWarnings("serial")
private java.util.List variants_;
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public java.util.List getVariantsList() {
return variants_;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public java.util.List extends com.google.cloud.retail.v2alpha.ProductOrBuilder>
getVariantsOrBuilderList() {
return variants_;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public int getVariantsCount() {
return variants_.size();
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product getVariants(int index) {
return variants_.get(index);
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.ProductOrBuilder getVariantsOrBuilder(int index) {
return variants_.get(index);
}
public static final int LOCAL_INVENTORIES_FIELD_NUMBER = 35;
@SuppressWarnings("serial")
private java.util.List localInventories_;
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public java.util.List getLocalInventoriesList() {
return localInventories_;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public java.util.List extends com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder>
getLocalInventoriesOrBuilderList() {
return localInventories_;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public int getLocalInventoriesCount() {
return localInventories_.size();
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.LocalInventory getLocalInventories(int index) {
return localInventories_.get(index);
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder getLocalInventoriesOrBuilder(
int index) {
return localInventories_.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.GeneratedMessageV3.isStringEmpty(name_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
}
if (type_ != com.google.cloud.retail.v2alpha.Product.Type.TYPE_UNSPECIFIED.getNumber()) {
output.writeEnum(3, type_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(primaryProductId_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, primaryProductId_);
}
for (int i = 0; i < collectionMemberIds_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 5, collectionMemberIds_.getRaw(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gtin_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 6, gtin_);
}
for (int i = 0; i < categories_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 7, categories_.getRaw(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 8, title_);
}
for (int i = 0; i < brands_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 9, brands_.getRaw(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 10, description_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 11, languageCode_);
}
com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 12);
for (int i = 0; i < tags_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 13, tags_.getRaw(i));
}
if (((bitField0_ & 0x00000001) != 0)) {
output.writeMessage(14, getPriceInfo());
}
if (((bitField0_ & 0x00000002) != 0)) {
output.writeMessage(15, getRating());
}
if (expirationCase_ == 16) {
output.writeMessage(16, (com.google.protobuf.Timestamp) expiration_);
}
if (expirationCase_ == 17) {
output.writeMessage(17, (com.google.protobuf.Duration) expiration_);
}
if (((bitField0_ & 0x00000004) != 0)) {
output.writeMessage(18, getAvailableTime());
}
if (availability_
!= com.google.cloud.retail.v2alpha.Product.Availability.AVAILABILITY_UNSPECIFIED
.getNumber()) {
output.writeEnum(19, availability_);
}
if (((bitField0_ & 0x00000008) != 0)) {
output.writeMessage(20, getAvailableQuantity());
}
for (int i = 0; i < fulfillmentInfo_.size(); i++) {
output.writeMessage(21, fulfillmentInfo_.get(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 22, uri_);
}
for (int i = 0; i < images_.size(); i++) {
output.writeMessage(23, images_.get(i));
}
if (((bitField0_ & 0x00000010) != 0)) {
output.writeMessage(24, getAudience());
}
if (((bitField0_ & 0x00000020) != 0)) {
output.writeMessage(25, getColorInfo());
}
for (int i = 0; i < sizes_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 26, sizes_.getRaw(i));
}
for (int i = 0; i < materials_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 27, materials_.getRaw(i));
}
for (int i = 0; i < patterns_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 28, patterns_.getRaw(i));
}
for (int i = 0; i < conditions_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 29, conditions_.getRaw(i));
}
if (((bitField0_ & 0x00000080) != 0)) {
output.writeMessage(30, getRetrievableFields());
}
for (int i = 0; i < variants_.size(); i++) {
output.writeMessage(31, variants_.get(i));
}
if (((bitField0_ & 0x00000040) != 0)) {
output.writeMessage(33, getPublishTime());
}
for (int i = 0; i < promotions_.size(); i++) {
output.writeMessage(34, promotions_.get(i));
}
for (int i = 0; i < localInventories_.size(); i++) {
output.writeMessage(35, localInventories_.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.GeneratedMessageV3.isStringEmpty(name_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
}
if (type_ != com.google.cloud.retail.v2alpha.Product.Type.TYPE_UNSPECIFIED.getNumber()) {
size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, type_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(primaryProductId_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, primaryProductId_);
}
{
int dataSize = 0;
for (int i = 0; i < collectionMemberIds_.size(); i++) {
dataSize += computeStringSizeNoTag(collectionMemberIds_.getRaw(i));
}
size += dataSize;
size += 1 * getCollectionMemberIdsList().size();
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gtin_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, gtin_);
}
{
int dataSize = 0;
for (int i = 0; i < categories_.size(); i++) {
dataSize += computeStringSizeNoTag(categories_.getRaw(i));
}
size += dataSize;
size += 1 * getCategoriesList().size();
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, title_);
}
{
int dataSize = 0;
for (int i = 0; i < brands_.size(); i++) {
dataSize += computeStringSizeNoTag(brands_.getRaw(i));
}
size += dataSize;
size += 1 * getBrandsList().size();
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, description_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, languageCode_);
}
for (java.util.Map.Entry
entry : internalGetAttributes().getMap().entrySet()) {
com.google.protobuf.MapEntry<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
attributes__ =
AttributesDefaultEntryHolder.defaultEntry
.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, attributes__);
}
{
int dataSize = 0;
for (int i = 0; i < tags_.size(); i++) {
dataSize += computeStringSizeNoTag(tags_.getRaw(i));
}
size += dataSize;
size += 1 * getTagsList().size();
}
if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getPriceInfo());
}
if (((bitField0_ & 0x00000002) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, getRating());
}
if (expirationCase_ == 16) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(
16, (com.google.protobuf.Timestamp) expiration_);
}
if (expirationCase_ == 17) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(
17, (com.google.protobuf.Duration) expiration_);
}
if (((bitField0_ & 0x00000004) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(18, getAvailableTime());
}
if (availability_
!= com.google.cloud.retail.v2alpha.Product.Availability.AVAILABILITY_UNSPECIFIED
.getNumber()) {
size += com.google.protobuf.CodedOutputStream.computeEnumSize(19, availability_);
}
if (((bitField0_ & 0x00000008) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(20, getAvailableQuantity());
}
for (int i = 0; i < fulfillmentInfo_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(21, fulfillmentInfo_.get(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(22, uri_);
}
for (int i = 0; i < images_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(23, images_.get(i));
}
if (((bitField0_ & 0x00000010) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(24, getAudience());
}
if (((bitField0_ & 0x00000020) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(25, getColorInfo());
}
{
int dataSize = 0;
for (int i = 0; i < sizes_.size(); i++) {
dataSize += computeStringSizeNoTag(sizes_.getRaw(i));
}
size += dataSize;
size += 2 * getSizesList().size();
}
{
int dataSize = 0;
for (int i = 0; i < materials_.size(); i++) {
dataSize += computeStringSizeNoTag(materials_.getRaw(i));
}
size += dataSize;
size += 2 * getMaterialsList().size();
}
{
int dataSize = 0;
for (int i = 0; i < patterns_.size(); i++) {
dataSize += computeStringSizeNoTag(patterns_.getRaw(i));
}
size += dataSize;
size += 2 * getPatternsList().size();
}
{
int dataSize = 0;
for (int i = 0; i < conditions_.size(); i++) {
dataSize += computeStringSizeNoTag(conditions_.getRaw(i));
}
size += dataSize;
size += 2 * getConditionsList().size();
}
if (((bitField0_ & 0x00000080) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(30, getRetrievableFields());
}
for (int i = 0; i < variants_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(31, variants_.get(i));
}
if (((bitField0_ & 0x00000040) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(33, getPublishTime());
}
for (int i = 0; i < promotions_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(34, promotions_.get(i));
}
for (int i = 0; i < localInventories_.size(); i++) {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(35, localInventories_.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.retail.v2alpha.Product)) {
return super.equals(obj);
}
com.google.cloud.retail.v2alpha.Product other = (com.google.cloud.retail.v2alpha.Product) obj;
if (!getName().equals(other.getName())) return false;
if (!getId().equals(other.getId())) return false;
if (type_ != other.type_) return false;
if (!getPrimaryProductId().equals(other.getPrimaryProductId())) return false;
if (!getCollectionMemberIdsList().equals(other.getCollectionMemberIdsList())) return false;
if (!getGtin().equals(other.getGtin())) return false;
if (!getCategoriesList().equals(other.getCategoriesList())) return false;
if (!getTitle().equals(other.getTitle())) return false;
if (!getBrandsList().equals(other.getBrandsList())) return false;
if (!getDescription().equals(other.getDescription())) return false;
if (!getLanguageCode().equals(other.getLanguageCode())) return false;
if (!internalGetAttributes().equals(other.internalGetAttributes())) return false;
if (!getTagsList().equals(other.getTagsList())) return false;
if (hasPriceInfo() != other.hasPriceInfo()) return false;
if (hasPriceInfo()) {
if (!getPriceInfo().equals(other.getPriceInfo())) return false;
}
if (hasRating() != other.hasRating()) return false;
if (hasRating()) {
if (!getRating().equals(other.getRating())) return false;
}
if (hasAvailableTime() != other.hasAvailableTime()) return false;
if (hasAvailableTime()) {
if (!getAvailableTime().equals(other.getAvailableTime())) return false;
}
if (availability_ != other.availability_) return false;
if (hasAvailableQuantity() != other.hasAvailableQuantity()) return false;
if (hasAvailableQuantity()) {
if (!getAvailableQuantity().equals(other.getAvailableQuantity())) return false;
}
if (!getFulfillmentInfoList().equals(other.getFulfillmentInfoList())) return false;
if (!getUri().equals(other.getUri())) return false;
if (!getImagesList().equals(other.getImagesList())) return false;
if (hasAudience() != other.hasAudience()) return false;
if (hasAudience()) {
if (!getAudience().equals(other.getAudience())) return false;
}
if (hasColorInfo() != other.hasColorInfo()) return false;
if (hasColorInfo()) {
if (!getColorInfo().equals(other.getColorInfo())) return false;
}
if (!getSizesList().equals(other.getSizesList())) return false;
if (!getMaterialsList().equals(other.getMaterialsList())) return false;
if (!getPatternsList().equals(other.getPatternsList())) return false;
if (!getConditionsList().equals(other.getConditionsList())) return false;
if (!getPromotionsList().equals(other.getPromotionsList())) return false;
if (hasPublishTime() != other.hasPublishTime()) return false;
if (hasPublishTime()) {
if (!getPublishTime().equals(other.getPublishTime())) return false;
}
if (hasRetrievableFields() != other.hasRetrievableFields()) return false;
if (hasRetrievableFields()) {
if (!getRetrievableFields().equals(other.getRetrievableFields())) return false;
}
if (!getVariantsList().equals(other.getVariantsList())) return false;
if (!getLocalInventoriesList().equals(other.getLocalInventoriesList())) return false;
if (!getExpirationCase().equals(other.getExpirationCase())) return false;
switch (expirationCase_) {
case 16:
if (!getExpireTime().equals(other.getExpireTime())) return false;
break;
case 17:
if (!getTtl().equals(other.getTtl())) 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) + ID_FIELD_NUMBER;
hash = (53 * hash) + getId().hashCode();
hash = (37 * hash) + TYPE_FIELD_NUMBER;
hash = (53 * hash) + type_;
hash = (37 * hash) + PRIMARY_PRODUCT_ID_FIELD_NUMBER;
hash = (53 * hash) + getPrimaryProductId().hashCode();
if (getCollectionMemberIdsCount() > 0) {
hash = (37 * hash) + COLLECTION_MEMBER_IDS_FIELD_NUMBER;
hash = (53 * hash) + getCollectionMemberIdsList().hashCode();
}
hash = (37 * hash) + GTIN_FIELD_NUMBER;
hash = (53 * hash) + getGtin().hashCode();
if (getCategoriesCount() > 0) {
hash = (37 * hash) + CATEGORIES_FIELD_NUMBER;
hash = (53 * hash) + getCategoriesList().hashCode();
}
hash = (37 * hash) + TITLE_FIELD_NUMBER;
hash = (53 * hash) + getTitle().hashCode();
if (getBrandsCount() > 0) {
hash = (37 * hash) + BRANDS_FIELD_NUMBER;
hash = (53 * hash) + getBrandsList().hashCode();
}
hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
hash = (53 * hash) + getDescription().hashCode();
hash = (37 * hash) + LANGUAGE_CODE_FIELD_NUMBER;
hash = (53 * hash) + getLanguageCode().hashCode();
if (!internalGetAttributes().getMap().isEmpty()) {
hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
hash = (53 * hash) + internalGetAttributes().hashCode();
}
if (getTagsCount() > 0) {
hash = (37 * hash) + TAGS_FIELD_NUMBER;
hash = (53 * hash) + getTagsList().hashCode();
}
if (hasPriceInfo()) {
hash = (37 * hash) + PRICE_INFO_FIELD_NUMBER;
hash = (53 * hash) + getPriceInfo().hashCode();
}
if (hasRating()) {
hash = (37 * hash) + RATING_FIELD_NUMBER;
hash = (53 * hash) + getRating().hashCode();
}
if (hasAvailableTime()) {
hash = (37 * hash) + AVAILABLE_TIME_FIELD_NUMBER;
hash = (53 * hash) + getAvailableTime().hashCode();
}
hash = (37 * hash) + AVAILABILITY_FIELD_NUMBER;
hash = (53 * hash) + availability_;
if (hasAvailableQuantity()) {
hash = (37 * hash) + AVAILABLE_QUANTITY_FIELD_NUMBER;
hash = (53 * hash) + getAvailableQuantity().hashCode();
}
if (getFulfillmentInfoCount() > 0) {
hash = (37 * hash) + FULFILLMENT_INFO_FIELD_NUMBER;
hash = (53 * hash) + getFulfillmentInfoList().hashCode();
}
hash = (37 * hash) + URI_FIELD_NUMBER;
hash = (53 * hash) + getUri().hashCode();
if (getImagesCount() > 0) {
hash = (37 * hash) + IMAGES_FIELD_NUMBER;
hash = (53 * hash) + getImagesList().hashCode();
}
if (hasAudience()) {
hash = (37 * hash) + AUDIENCE_FIELD_NUMBER;
hash = (53 * hash) + getAudience().hashCode();
}
if (hasColorInfo()) {
hash = (37 * hash) + COLOR_INFO_FIELD_NUMBER;
hash = (53 * hash) + getColorInfo().hashCode();
}
if (getSizesCount() > 0) {
hash = (37 * hash) + SIZES_FIELD_NUMBER;
hash = (53 * hash) + getSizesList().hashCode();
}
if (getMaterialsCount() > 0) {
hash = (37 * hash) + MATERIALS_FIELD_NUMBER;
hash = (53 * hash) + getMaterialsList().hashCode();
}
if (getPatternsCount() > 0) {
hash = (37 * hash) + PATTERNS_FIELD_NUMBER;
hash = (53 * hash) + getPatternsList().hashCode();
}
if (getConditionsCount() > 0) {
hash = (37 * hash) + CONDITIONS_FIELD_NUMBER;
hash = (53 * hash) + getConditionsList().hashCode();
}
if (getPromotionsCount() > 0) {
hash = (37 * hash) + PROMOTIONS_FIELD_NUMBER;
hash = (53 * hash) + getPromotionsList().hashCode();
}
if (hasPublishTime()) {
hash = (37 * hash) + PUBLISH_TIME_FIELD_NUMBER;
hash = (53 * hash) + getPublishTime().hashCode();
}
if (hasRetrievableFields()) {
hash = (37 * hash) + RETRIEVABLE_FIELDS_FIELD_NUMBER;
hash = (53 * hash) + getRetrievableFields().hashCode();
}
if (getVariantsCount() > 0) {
hash = (37 * hash) + VARIANTS_FIELD_NUMBER;
hash = (53 * hash) + getVariantsList().hashCode();
}
if (getLocalInventoriesCount() > 0) {
hash = (37 * hash) + LOCAL_INVENTORIES_FIELD_NUMBER;
hash = (53 * hash) + getLocalInventoriesList().hashCode();
}
switch (expirationCase_) {
case 16:
hash = (37 * hash) + EXPIRE_TIME_FIELD_NUMBER;
hash = (53 * hash) + getExpireTime().hashCode();
break;
case 17:
hash = (37 * hash) + TTL_FIELD_NUMBER;
hash = (53 * hash) + getTtl().hashCode();
break;
case 0:
default:
}
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.retail.v2alpha.Product 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.retail.v2alpha.Product parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.retail.v2alpha.Product 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.retail.v2alpha.Product parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(
byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(
java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
PARSER, input, extensionRegistry);
}
public static com.google.cloud.retail.v2alpha.Product parseDelimitedFrom(
java.io.InputStream input) throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
}
public static com.google.cloud.retail.v2alpha.Product parseDelimitedFrom(
java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(
com.google.protobuf.CodedInputStream input) throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
}
public static com.google.cloud.retail.v2alpha.Product parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() {
return newBuilder();
}
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(com.google.cloud.retail.v2alpha.Product prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
*
*
* Product captures all metadata information of items to be recommended or
* searched.
*
*
* Protobuf type {@code google.cloud.retail.v2alpha.Product}
*/
public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
implements
// @@protoc_insertion_point(builder_implements:google.cloud.retail.v2alpha.Product)
com.google.cloud.retail.v2alpha.ProductOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(
int number) {
switch (number) {
case 12:
return internalGetAttributes();
default:
throw new RuntimeException("Invalid map field number: " + number);
}
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection(
int number) {
switch (number) {
case 12:
return internalGetMutableAttributes();
default:
throw new RuntimeException("Invalid map field number: " + number);
}
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.google.cloud.retail.v2alpha.Product.class,
com.google.cloud.retail.v2alpha.Product.Builder.class);
}
// Construct using com.google.cloud.retail.v2alpha.Product.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
getPriceInfoFieldBuilder();
getRatingFieldBuilder();
getAvailableTimeFieldBuilder();
getAvailableQuantityFieldBuilder();
getFulfillmentInfoFieldBuilder();
getImagesFieldBuilder();
getAudienceFieldBuilder();
getColorInfoFieldBuilder();
getPromotionsFieldBuilder();
getPublishTimeFieldBuilder();
getRetrievableFieldsFieldBuilder();
getVariantsFieldBuilder();
getLocalInventoriesFieldBuilder();
}
}
@java.lang.Override
public Builder clear() {
super.clear();
bitField0_ = 0;
bitField1_ = 0;
if (expireTimeBuilder_ != null) {
expireTimeBuilder_.clear();
}
if (ttlBuilder_ != null) {
ttlBuilder_.clear();
}
name_ = "";
id_ = "";
type_ = 0;
primaryProductId_ = "";
collectionMemberIds_ = com.google.protobuf.LazyStringArrayList.emptyList();
gtin_ = "";
categories_ = com.google.protobuf.LazyStringArrayList.emptyList();
title_ = "";
brands_ = com.google.protobuf.LazyStringArrayList.emptyList();
description_ = "";
languageCode_ = "";
internalGetMutableAttributes().clear();
tags_ = com.google.protobuf.LazyStringArrayList.emptyList();
priceInfo_ = null;
if (priceInfoBuilder_ != null) {
priceInfoBuilder_.dispose();
priceInfoBuilder_ = null;
}
rating_ = null;
if (ratingBuilder_ != null) {
ratingBuilder_.dispose();
ratingBuilder_ = null;
}
availableTime_ = null;
if (availableTimeBuilder_ != null) {
availableTimeBuilder_.dispose();
availableTimeBuilder_ = null;
}
availability_ = 0;
availableQuantity_ = null;
if (availableQuantityBuilder_ != null) {
availableQuantityBuilder_.dispose();
availableQuantityBuilder_ = null;
}
if (fulfillmentInfoBuilder_ == null) {
fulfillmentInfo_ = java.util.Collections.emptyList();
} else {
fulfillmentInfo_ = null;
fulfillmentInfoBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00100000);
uri_ = "";
if (imagesBuilder_ == null) {
images_ = java.util.Collections.emptyList();
} else {
images_ = null;
imagesBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00400000);
audience_ = null;
if (audienceBuilder_ != null) {
audienceBuilder_.dispose();
audienceBuilder_ = null;
}
colorInfo_ = null;
if (colorInfoBuilder_ != null) {
colorInfoBuilder_.dispose();
colorInfoBuilder_ = null;
}
sizes_ = com.google.protobuf.LazyStringArrayList.emptyList();
materials_ = com.google.protobuf.LazyStringArrayList.emptyList();
patterns_ = com.google.protobuf.LazyStringArrayList.emptyList();
conditions_ = com.google.protobuf.LazyStringArrayList.emptyList();
if (promotionsBuilder_ == null) {
promotions_ = java.util.Collections.emptyList();
} else {
promotions_ = null;
promotionsBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x20000000);
publishTime_ = null;
if (publishTimeBuilder_ != null) {
publishTimeBuilder_.dispose();
publishTimeBuilder_ = null;
}
retrievableFields_ = null;
if (retrievableFieldsBuilder_ != null) {
retrievableFieldsBuilder_.dispose();
retrievableFieldsBuilder_ = null;
}
if (variantsBuilder_ == null) {
variants_ = java.util.Collections.emptyList();
} else {
variants_ = null;
variantsBuilder_.clear();
}
bitField1_ = (bitField1_ & ~0x00000001);
if (localInventoriesBuilder_ == null) {
localInventories_ = java.util.Collections.emptyList();
} else {
localInventories_ = null;
localInventoriesBuilder_.clear();
}
bitField1_ = (bitField1_ & ~0x00000002);
expirationCase_ = 0;
expiration_ = null;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
return com.google.cloud.retail.v2alpha.ProductProto
.internal_static_google_cloud_retail_v2alpha_Product_descriptor;
}
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product getDefaultInstanceForType() {
return com.google.cloud.retail.v2alpha.Product.getDefaultInstance();
}
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product build() {
com.google.cloud.retail.v2alpha.Product result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product buildPartial() {
com.google.cloud.retail.v2alpha.Product result =
new com.google.cloud.retail.v2alpha.Product(this);
buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
if (bitField1_ != 0) {
buildPartial1(result);
}
buildPartialOneofs(result);
onBuilt();
return result;
}
private void buildPartialRepeatedFields(com.google.cloud.retail.v2alpha.Product result) {
if (fulfillmentInfoBuilder_ == null) {
if (((bitField0_ & 0x00100000) != 0)) {
fulfillmentInfo_ = java.util.Collections.unmodifiableList(fulfillmentInfo_);
bitField0_ = (bitField0_ & ~0x00100000);
}
result.fulfillmentInfo_ = fulfillmentInfo_;
} else {
result.fulfillmentInfo_ = fulfillmentInfoBuilder_.build();
}
if (imagesBuilder_ == null) {
if (((bitField0_ & 0x00400000) != 0)) {
images_ = java.util.Collections.unmodifiableList(images_);
bitField0_ = (bitField0_ & ~0x00400000);
}
result.images_ = images_;
} else {
result.images_ = imagesBuilder_.build();
}
if (promotionsBuilder_ == null) {
if (((bitField0_ & 0x20000000) != 0)) {
promotions_ = java.util.Collections.unmodifiableList(promotions_);
bitField0_ = (bitField0_ & ~0x20000000);
}
result.promotions_ = promotions_;
} else {
result.promotions_ = promotionsBuilder_.build();
}
if (variantsBuilder_ == null) {
if (((bitField1_ & 0x00000001) != 0)) {
variants_ = java.util.Collections.unmodifiableList(variants_);
bitField1_ = (bitField1_ & ~0x00000001);
}
result.variants_ = variants_;
} else {
result.variants_ = variantsBuilder_.build();
}
if (localInventoriesBuilder_ == null) {
if (((bitField1_ & 0x00000002) != 0)) {
localInventories_ = java.util.Collections.unmodifiableList(localInventories_);
bitField1_ = (bitField1_ & ~0x00000002);
}
result.localInventories_ = localInventories_;
} else {
result.localInventories_ = localInventoriesBuilder_.build();
}
}
private void buildPartial0(com.google.cloud.retail.v2alpha.Product result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000004) != 0)) {
result.name_ = name_;
}
if (((from_bitField0_ & 0x00000008) != 0)) {
result.id_ = id_;
}
if (((from_bitField0_ & 0x00000010) != 0)) {
result.type_ = type_;
}
if (((from_bitField0_ & 0x00000020) != 0)) {
result.primaryProductId_ = primaryProductId_;
}
if (((from_bitField0_ & 0x00000040) != 0)) {
collectionMemberIds_.makeImmutable();
result.collectionMemberIds_ = collectionMemberIds_;
}
if (((from_bitField0_ & 0x00000080) != 0)) {
result.gtin_ = gtin_;
}
if (((from_bitField0_ & 0x00000100) != 0)) {
categories_.makeImmutable();
result.categories_ = categories_;
}
if (((from_bitField0_ & 0x00000200) != 0)) {
result.title_ = title_;
}
if (((from_bitField0_ & 0x00000400) != 0)) {
brands_.makeImmutable();
result.brands_ = brands_;
}
if (((from_bitField0_ & 0x00000800) != 0)) {
result.description_ = description_;
}
if (((from_bitField0_ & 0x00001000) != 0)) {
result.languageCode_ = languageCode_;
}
if (((from_bitField0_ & 0x00002000) != 0)) {
result.attributes_ =
internalGetAttributes().build(AttributesDefaultEntryHolder.defaultEntry);
}
if (((from_bitField0_ & 0x00004000) != 0)) {
tags_.makeImmutable();
result.tags_ = tags_;
}
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00008000) != 0)) {
result.priceInfo_ = priceInfoBuilder_ == null ? priceInfo_ : priceInfoBuilder_.build();
to_bitField0_ |= 0x00000001;
}
if (((from_bitField0_ & 0x00010000) != 0)) {
result.rating_ = ratingBuilder_ == null ? rating_ : ratingBuilder_.build();
to_bitField0_ |= 0x00000002;
}
if (((from_bitField0_ & 0x00020000) != 0)) {
result.availableTime_ =
availableTimeBuilder_ == null ? availableTime_ : availableTimeBuilder_.build();
to_bitField0_ |= 0x00000004;
}
if (((from_bitField0_ & 0x00040000) != 0)) {
result.availability_ = availability_;
}
if (((from_bitField0_ & 0x00080000) != 0)) {
result.availableQuantity_ =
availableQuantityBuilder_ == null
? availableQuantity_
: availableQuantityBuilder_.build();
to_bitField0_ |= 0x00000008;
}
if (((from_bitField0_ & 0x00200000) != 0)) {
result.uri_ = uri_;
}
if (((from_bitField0_ & 0x00800000) != 0)) {
result.audience_ = audienceBuilder_ == null ? audience_ : audienceBuilder_.build();
to_bitField0_ |= 0x00000010;
}
if (((from_bitField0_ & 0x01000000) != 0)) {
result.colorInfo_ = colorInfoBuilder_ == null ? colorInfo_ : colorInfoBuilder_.build();
to_bitField0_ |= 0x00000020;
}
if (((from_bitField0_ & 0x02000000) != 0)) {
sizes_.makeImmutable();
result.sizes_ = sizes_;
}
if (((from_bitField0_ & 0x04000000) != 0)) {
materials_.makeImmutable();
result.materials_ = materials_;
}
if (((from_bitField0_ & 0x08000000) != 0)) {
patterns_.makeImmutable();
result.patterns_ = patterns_;
}
if (((from_bitField0_ & 0x10000000) != 0)) {
conditions_.makeImmutable();
result.conditions_ = conditions_;
}
if (((from_bitField0_ & 0x40000000) != 0)) {
result.publishTime_ =
publishTimeBuilder_ == null ? publishTime_ : publishTimeBuilder_.build();
to_bitField0_ |= 0x00000040;
}
if (((from_bitField0_ & 0x80000000) != 0)) {
result.retrievableFields_ =
retrievableFieldsBuilder_ == null
? retrievableFields_
: retrievableFieldsBuilder_.build();
to_bitField0_ |= 0x00000080;
}
result.bitField0_ |= to_bitField0_;
}
private void buildPartial1(com.google.cloud.retail.v2alpha.Product result) {
int from_bitField1_ = bitField1_;
}
private void buildPartialOneofs(com.google.cloud.retail.v2alpha.Product result) {
result.expirationCase_ = expirationCase_;
result.expiration_ = this.expiration_;
if (expirationCase_ == 16 && expireTimeBuilder_ != null) {
result.expiration_ = expireTimeBuilder_.build();
}
if (expirationCase_ == 17 && ttlBuilder_ != null) {
result.expiration_ = ttlBuilder_.build();
}
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.google.cloud.retail.v2alpha.Product) {
return mergeFrom((com.google.cloud.retail.v2alpha.Product) other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.google.cloud.retail.v2alpha.Product other) {
if (other == com.google.cloud.retail.v2alpha.Product.getDefaultInstance()) return this;
if (!other.getName().isEmpty()) {
name_ = other.name_;
bitField0_ |= 0x00000004;
onChanged();
}
if (!other.getId().isEmpty()) {
id_ = other.id_;
bitField0_ |= 0x00000008;
onChanged();
}
if (other.type_ != 0) {
setTypeValue(other.getTypeValue());
}
if (!other.getPrimaryProductId().isEmpty()) {
primaryProductId_ = other.primaryProductId_;
bitField0_ |= 0x00000020;
onChanged();
}
if (!other.collectionMemberIds_.isEmpty()) {
if (collectionMemberIds_.isEmpty()) {
collectionMemberIds_ = other.collectionMemberIds_;
bitField0_ |= 0x00000040;
} else {
ensureCollectionMemberIdsIsMutable();
collectionMemberIds_.addAll(other.collectionMemberIds_);
}
onChanged();
}
if (!other.getGtin().isEmpty()) {
gtin_ = other.gtin_;
bitField0_ |= 0x00000080;
onChanged();
}
if (!other.categories_.isEmpty()) {
if (categories_.isEmpty()) {
categories_ = other.categories_;
bitField0_ |= 0x00000100;
} else {
ensureCategoriesIsMutable();
categories_.addAll(other.categories_);
}
onChanged();
}
if (!other.getTitle().isEmpty()) {
title_ = other.title_;
bitField0_ |= 0x00000200;
onChanged();
}
if (!other.brands_.isEmpty()) {
if (brands_.isEmpty()) {
brands_ = other.brands_;
bitField0_ |= 0x00000400;
} else {
ensureBrandsIsMutable();
brands_.addAll(other.brands_);
}
onChanged();
}
if (!other.getDescription().isEmpty()) {
description_ = other.description_;
bitField0_ |= 0x00000800;
onChanged();
}
if (!other.getLanguageCode().isEmpty()) {
languageCode_ = other.languageCode_;
bitField0_ |= 0x00001000;
onChanged();
}
internalGetMutableAttributes().mergeFrom(other.internalGetAttributes());
bitField0_ |= 0x00002000;
if (!other.tags_.isEmpty()) {
if (tags_.isEmpty()) {
tags_ = other.tags_;
bitField0_ |= 0x00004000;
} else {
ensureTagsIsMutable();
tags_.addAll(other.tags_);
}
onChanged();
}
if (other.hasPriceInfo()) {
mergePriceInfo(other.getPriceInfo());
}
if (other.hasRating()) {
mergeRating(other.getRating());
}
if (other.hasAvailableTime()) {
mergeAvailableTime(other.getAvailableTime());
}
if (other.availability_ != 0) {
setAvailabilityValue(other.getAvailabilityValue());
}
if (other.hasAvailableQuantity()) {
mergeAvailableQuantity(other.getAvailableQuantity());
}
if (fulfillmentInfoBuilder_ == null) {
if (!other.fulfillmentInfo_.isEmpty()) {
if (fulfillmentInfo_.isEmpty()) {
fulfillmentInfo_ = other.fulfillmentInfo_;
bitField0_ = (bitField0_ & ~0x00100000);
} else {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.addAll(other.fulfillmentInfo_);
}
onChanged();
}
} else {
if (!other.fulfillmentInfo_.isEmpty()) {
if (fulfillmentInfoBuilder_.isEmpty()) {
fulfillmentInfoBuilder_.dispose();
fulfillmentInfoBuilder_ = null;
fulfillmentInfo_ = other.fulfillmentInfo_;
bitField0_ = (bitField0_ & ~0x00100000);
fulfillmentInfoBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getFulfillmentInfoFieldBuilder()
: null;
} else {
fulfillmentInfoBuilder_.addAllMessages(other.fulfillmentInfo_);
}
}
}
if (!other.getUri().isEmpty()) {
uri_ = other.uri_;
bitField0_ |= 0x00200000;
onChanged();
}
if (imagesBuilder_ == null) {
if (!other.images_.isEmpty()) {
if (images_.isEmpty()) {
images_ = other.images_;
bitField0_ = (bitField0_ & ~0x00400000);
} else {
ensureImagesIsMutable();
images_.addAll(other.images_);
}
onChanged();
}
} else {
if (!other.images_.isEmpty()) {
if (imagesBuilder_.isEmpty()) {
imagesBuilder_.dispose();
imagesBuilder_ = null;
images_ = other.images_;
bitField0_ = (bitField0_ & ~0x00400000);
imagesBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getImagesFieldBuilder()
: null;
} else {
imagesBuilder_.addAllMessages(other.images_);
}
}
}
if (other.hasAudience()) {
mergeAudience(other.getAudience());
}
if (other.hasColorInfo()) {
mergeColorInfo(other.getColorInfo());
}
if (!other.sizes_.isEmpty()) {
if (sizes_.isEmpty()) {
sizes_ = other.sizes_;
bitField0_ |= 0x02000000;
} else {
ensureSizesIsMutable();
sizes_.addAll(other.sizes_);
}
onChanged();
}
if (!other.materials_.isEmpty()) {
if (materials_.isEmpty()) {
materials_ = other.materials_;
bitField0_ |= 0x04000000;
} else {
ensureMaterialsIsMutable();
materials_.addAll(other.materials_);
}
onChanged();
}
if (!other.patterns_.isEmpty()) {
if (patterns_.isEmpty()) {
patterns_ = other.patterns_;
bitField0_ |= 0x08000000;
} else {
ensurePatternsIsMutable();
patterns_.addAll(other.patterns_);
}
onChanged();
}
if (!other.conditions_.isEmpty()) {
if (conditions_.isEmpty()) {
conditions_ = other.conditions_;
bitField0_ |= 0x10000000;
} else {
ensureConditionsIsMutable();
conditions_.addAll(other.conditions_);
}
onChanged();
}
if (promotionsBuilder_ == null) {
if (!other.promotions_.isEmpty()) {
if (promotions_.isEmpty()) {
promotions_ = other.promotions_;
bitField0_ = (bitField0_ & ~0x20000000);
} else {
ensurePromotionsIsMutable();
promotions_.addAll(other.promotions_);
}
onChanged();
}
} else {
if (!other.promotions_.isEmpty()) {
if (promotionsBuilder_.isEmpty()) {
promotionsBuilder_.dispose();
promotionsBuilder_ = null;
promotions_ = other.promotions_;
bitField0_ = (bitField0_ & ~0x20000000);
promotionsBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getPromotionsFieldBuilder()
: null;
} else {
promotionsBuilder_.addAllMessages(other.promotions_);
}
}
}
if (other.hasPublishTime()) {
mergePublishTime(other.getPublishTime());
}
if (other.hasRetrievableFields()) {
mergeRetrievableFields(other.getRetrievableFields());
}
if (variantsBuilder_ == null) {
if (!other.variants_.isEmpty()) {
if (variants_.isEmpty()) {
variants_ = other.variants_;
bitField1_ = (bitField1_ & ~0x00000001);
} else {
ensureVariantsIsMutable();
variants_.addAll(other.variants_);
}
onChanged();
}
} else {
if (!other.variants_.isEmpty()) {
if (variantsBuilder_.isEmpty()) {
variantsBuilder_.dispose();
variantsBuilder_ = null;
variants_ = other.variants_;
bitField1_ = (bitField1_ & ~0x00000001);
variantsBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getVariantsFieldBuilder()
: null;
} else {
variantsBuilder_.addAllMessages(other.variants_);
}
}
}
if (localInventoriesBuilder_ == null) {
if (!other.localInventories_.isEmpty()) {
if (localInventories_.isEmpty()) {
localInventories_ = other.localInventories_;
bitField1_ = (bitField1_ & ~0x00000002);
} else {
ensureLocalInventoriesIsMutable();
localInventories_.addAll(other.localInventories_);
}
onChanged();
}
} else {
if (!other.localInventories_.isEmpty()) {
if (localInventoriesBuilder_.isEmpty()) {
localInventoriesBuilder_.dispose();
localInventoriesBuilder_ = null;
localInventories_ = other.localInventories_;
bitField1_ = (bitField1_ & ~0x00000002);
localInventoriesBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getLocalInventoriesFieldBuilder()
: null;
} else {
localInventoriesBuilder_.addAllMessages(other.localInventories_);
}
}
}
switch (other.getExpirationCase()) {
case EXPIRE_TIME:
{
mergeExpireTime(other.getExpireTime());
break;
}
case TTL:
{
mergeTtl(other.getTtl());
break;
}
case EXPIRATION_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_ |= 0x00000004;
break;
} // case 10
case 18:
{
id_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000008;
break;
} // case 18
case 24:
{
type_ = input.readEnum();
bitField0_ |= 0x00000010;
break;
} // case 24
case 34:
{
primaryProductId_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000020;
break;
} // case 34
case 42:
{
java.lang.String s = input.readStringRequireUtf8();
ensureCollectionMemberIdsIsMutable();
collectionMemberIds_.add(s);
break;
} // case 42
case 50:
{
gtin_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000080;
break;
} // case 50
case 58:
{
java.lang.String s = input.readStringRequireUtf8();
ensureCategoriesIsMutable();
categories_.add(s);
break;
} // case 58
case 66:
{
title_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000200;
break;
} // case 66
case 74:
{
java.lang.String s = input.readStringRequireUtf8();
ensureBrandsIsMutable();
brands_.add(s);
break;
} // case 74
case 82:
{
description_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000800;
break;
} // case 82
case 90:
{
languageCode_ = input.readStringRequireUtf8();
bitField0_ |= 0x00001000;
break;
} // case 90
case 98:
{
com.google.protobuf.MapEntry<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
attributes__ =
input.readMessage(
AttributesDefaultEntryHolder.defaultEntry.getParserForType(),
extensionRegistry);
internalGetMutableAttributes()
.ensureBuilderMap()
.put(attributes__.getKey(), attributes__.getValue());
bitField0_ |= 0x00002000;
break;
} // case 98
case 106:
{
java.lang.String s = input.readStringRequireUtf8();
ensureTagsIsMutable();
tags_.add(s);
break;
} // case 106
case 114:
{
input.readMessage(getPriceInfoFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x00008000;
break;
} // case 114
case 122:
{
input.readMessage(getRatingFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x00010000;
break;
} // case 122
case 130:
{
input.readMessage(getExpireTimeFieldBuilder().getBuilder(), extensionRegistry);
expirationCase_ = 16;
break;
} // case 130
case 138:
{
input.readMessage(getTtlFieldBuilder().getBuilder(), extensionRegistry);
expirationCase_ = 17;
break;
} // case 138
case 146:
{
input.readMessage(getAvailableTimeFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x00020000;
break;
} // case 146
case 152:
{
availability_ = input.readEnum();
bitField0_ |= 0x00040000;
break;
} // case 152
case 162:
{
input.readMessage(
getAvailableQuantityFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x00080000;
break;
} // case 162
case 170:
{
com.google.cloud.retail.v2alpha.FulfillmentInfo m =
input.readMessage(
com.google.cloud.retail.v2alpha.FulfillmentInfo.parser(),
extensionRegistry);
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.add(m);
} else {
fulfillmentInfoBuilder_.addMessage(m);
}
break;
} // case 170
case 178:
{
uri_ = input.readStringRequireUtf8();
bitField0_ |= 0x00200000;
break;
} // case 178
case 186:
{
com.google.cloud.retail.v2alpha.Image m =
input.readMessage(
com.google.cloud.retail.v2alpha.Image.parser(), extensionRegistry);
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
images_.add(m);
} else {
imagesBuilder_.addMessage(m);
}
break;
} // case 186
case 194:
{
input.readMessage(getAudienceFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x00800000;
break;
} // case 194
case 202:
{
input.readMessage(getColorInfoFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x01000000;
break;
} // case 202
case 210:
{
java.lang.String s = input.readStringRequireUtf8();
ensureSizesIsMutable();
sizes_.add(s);
break;
} // case 210
case 218:
{
java.lang.String s = input.readStringRequireUtf8();
ensureMaterialsIsMutable();
materials_.add(s);
break;
} // case 218
case 226:
{
java.lang.String s = input.readStringRequireUtf8();
ensurePatternsIsMutable();
patterns_.add(s);
break;
} // case 226
case 234:
{
java.lang.String s = input.readStringRequireUtf8();
ensureConditionsIsMutable();
conditions_.add(s);
break;
} // case 234
case 242:
{
input.readMessage(
getRetrievableFieldsFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x80000000;
break;
} // case 242
case 250:
{
com.google.cloud.retail.v2alpha.Product m =
input.readMessage(
com.google.cloud.retail.v2alpha.Product.parser(), extensionRegistry);
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
variants_.add(m);
} else {
variantsBuilder_.addMessage(m);
}
break;
} // case 250
case 266:
{
input.readMessage(getPublishTimeFieldBuilder().getBuilder(), extensionRegistry);
bitField0_ |= 0x40000000;
break;
} // case 266
case 274:
{
com.google.cloud.retail.v2alpha.Promotion m =
input.readMessage(
com.google.cloud.retail.v2alpha.Promotion.parser(), extensionRegistry);
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
promotions_.add(m);
} else {
promotionsBuilder_.addMessage(m);
}
break;
} // case 274
case 282:
{
com.google.cloud.retail.v2alpha.LocalInventory m =
input.readMessage(
com.google.cloud.retail.v2alpha.LocalInventory.parser(), extensionRegistry);
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
localInventories_.add(m);
} else {
localInventoriesBuilder_.addMessage(m);
}
break;
} // case 282
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 expirationCase_ = 0;
private java.lang.Object expiration_;
public ExpirationCase getExpirationCase() {
return ExpirationCase.forNumber(expirationCase_);
}
public Builder clearExpiration() {
expirationCase_ = 0;
expiration_ = null;
onChanged();
return this;
}
private int bitField0_;
private int bitField1_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
expireTimeBuilder_;
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*
* @return Whether the expireTime field is set.
*/
@java.lang.Override
public boolean hasExpireTime() {
return expirationCase_ == 16;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*
* @return The expireTime.
*/
@java.lang.Override
public com.google.protobuf.Timestamp getExpireTime() {
if (expireTimeBuilder_ == null) {
if (expirationCase_ == 16) {
return (com.google.protobuf.Timestamp) expiration_;
}
return com.google.protobuf.Timestamp.getDefaultInstance();
} else {
if (expirationCase_ == 16) {
return expireTimeBuilder_.getMessage();
}
return com.google.protobuf.Timestamp.getDefaultInstance();
}
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
public Builder setExpireTime(com.google.protobuf.Timestamp value) {
if (expireTimeBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
expiration_ = value;
onChanged();
} else {
expireTimeBuilder_.setMessage(value);
}
expirationCase_ = 16;
return this;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
public Builder setExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) {
if (expireTimeBuilder_ == null) {
expiration_ = builderForValue.build();
onChanged();
} else {
expireTimeBuilder_.setMessage(builderForValue.build());
}
expirationCase_ = 16;
return this;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
public Builder mergeExpireTime(com.google.protobuf.Timestamp value) {
if (expireTimeBuilder_ == null) {
if (expirationCase_ == 16
&& expiration_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
expiration_ =
com.google.protobuf.Timestamp.newBuilder((com.google.protobuf.Timestamp) expiration_)
.mergeFrom(value)
.buildPartial();
} else {
expiration_ = value;
}
onChanged();
} else {
if (expirationCase_ == 16) {
expireTimeBuilder_.mergeFrom(value);
} else {
expireTimeBuilder_.setMessage(value);
}
}
expirationCase_ = 16;
return this;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
public Builder clearExpireTime() {
if (expireTimeBuilder_ == null) {
if (expirationCase_ == 16) {
expirationCase_ = 0;
expiration_ = null;
onChanged();
}
} else {
if (expirationCase_ == 16) {
expirationCase_ = 0;
expiration_ = null;
}
expireTimeBuilder_.clear();
}
return this;
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
public com.google.protobuf.Timestamp.Builder getExpireTimeBuilder() {
return getExpireTimeFieldBuilder().getBuilder();
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
@java.lang.Override
public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() {
if ((expirationCase_ == 16) && (expireTimeBuilder_ != null)) {
return expireTimeBuilder_.getMessageOrBuilder();
} else {
if (expirationCase_ == 16) {
return (com.google.protobuf.Timestamp) expiration_;
}
return com.google.protobuf.Timestamp.getDefaultInstance();
}
}
/**
*
*
*
* The timestamp when this product becomes unavailable for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
* available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
* However, the product can still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
* later than
* [available_time][google.cloud.retail.v2alpha.Product.available_time] and
* [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
* otherwise an INVALID_ARGUMENT error is thrown.
*
* Corresponding properties: Google Merchant Center property
* [expiration_date](https://support.google.com/merchants/answer/6324499).
*
*
* .google.protobuf.Timestamp expire_time = 16;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
getExpireTimeFieldBuilder() {
if (expireTimeBuilder_ == null) {
if (!(expirationCase_ == 16)) {
expiration_ = com.google.protobuf.Timestamp.getDefaultInstance();
}
expireTimeBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>(
(com.google.protobuf.Timestamp) expiration_, getParentForChildren(), isClean());
expiration_ = null;
}
expirationCase_ = 16;
onChanged();
return expireTimeBuilder_;
}
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration,
com.google.protobuf.Duration.Builder,
com.google.protobuf.DurationOrBuilder>
ttlBuilder_;
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return Whether the ttl field is set.
*/
@java.lang.Override
public boolean hasTtl() {
return expirationCase_ == 17;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return The ttl.
*/
@java.lang.Override
public com.google.protobuf.Duration getTtl() {
if (ttlBuilder_ == null) {
if (expirationCase_ == 17) {
return (com.google.protobuf.Duration) expiration_;
}
return com.google.protobuf.Duration.getDefaultInstance();
} else {
if (expirationCase_ == 17) {
return ttlBuilder_.getMessage();
}
return com.google.protobuf.Duration.getDefaultInstance();
}
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
public Builder setTtl(com.google.protobuf.Duration value) {
if (ttlBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
expiration_ = value;
onChanged();
} else {
ttlBuilder_.setMessage(value);
}
expirationCase_ = 17;
return this;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
public Builder setTtl(com.google.protobuf.Duration.Builder builderForValue) {
if (ttlBuilder_ == null) {
expiration_ = builderForValue.build();
onChanged();
} else {
ttlBuilder_.setMessage(builderForValue.build());
}
expirationCase_ = 17;
return this;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
public Builder mergeTtl(com.google.protobuf.Duration value) {
if (ttlBuilder_ == null) {
if (expirationCase_ == 17
&& expiration_ != com.google.protobuf.Duration.getDefaultInstance()) {
expiration_ =
com.google.protobuf.Duration.newBuilder((com.google.protobuf.Duration) expiration_)
.mergeFrom(value)
.buildPartial();
} else {
expiration_ = value;
}
onChanged();
} else {
if (expirationCase_ == 17) {
ttlBuilder_.mergeFrom(value);
} else {
ttlBuilder_.setMessage(value);
}
}
expirationCase_ = 17;
return this;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
public Builder clearTtl() {
if (ttlBuilder_ == null) {
if (expirationCase_ == 17) {
expirationCase_ = 0;
expiration_ = null;
onChanged();
}
} else {
if (expirationCase_ == 17) {
expirationCase_ = 0;
expiration_ = null;
}
ttlBuilder_.clear();
}
return this;
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
public com.google.protobuf.Duration.Builder getTtlBuilder() {
return getTtlFieldBuilder().getBuilder();
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
@java.lang.Override
public com.google.protobuf.DurationOrBuilder getTtlOrBuilder() {
if ((expirationCase_ == 17) && (ttlBuilder_ != null)) {
return ttlBuilder_.getMessageOrBuilder();
} else {
if (expirationCase_ == 17) {
return (com.google.protobuf.Duration) expiration_;
}
return com.google.protobuf.Duration.getDefaultInstance();
}
}
/**
*
*
*
* Input only. The TTL (time to live) of the product. Note that this is only
* applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION],
* and ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]. In
* general, we suggest the users to delete the stale products explicitly,
* instead of using this field to determine staleness.
*
* If it is set, it must be a non-negative value, and
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
* current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
* The derived
* [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
* returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
* is left blank when retrieving the
* [Product][google.cloud.retail.v2alpha.Product].
*
* If it is set, the product is not available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
* after current timestamp plus
* [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
* still be retrieved by
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
* and
* [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
*
*
* .google.protobuf.Duration ttl = 17 [(.google.api.field_behavior) = INPUT_ONLY];
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration,
com.google.protobuf.Duration.Builder,
com.google.protobuf.DurationOrBuilder>
getTtlFieldBuilder() {
if (ttlBuilder_ == null) {
if (!(expirationCase_ == 17)) {
expiration_ = com.google.protobuf.Duration.getDefaultInstance();
}
ttlBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Duration,
com.google.protobuf.Duration.Builder,
com.google.protobuf.DurationOrBuilder>(
(com.google.protobuf.Duration) expiration_, getParentForChildren(), isClean());
expiration_ = null;
}
expirationCase_ = 17;
onChanged();
return ttlBuilder_;
}
private java.lang.Object name_ = "";
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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;
}
}
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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;
}
}
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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_ |= 0x00000004;
onChanged();
return this;
}
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
/**
*
*
*
* Immutable. Full resource name of the product, such as
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
*
*
* string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
*
* @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_ |= 0x00000004;
onChanged();
return this;
}
private java.lang.Object id_ = "";
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The id.
*/
public java.lang.String getId() {
java.lang.Object ref = id_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
id_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The bytes for id.
*/
public com.google.protobuf.ByteString getIdBytes() {
java.lang.Object ref = id_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
id_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @param value The id to set.
* @return This builder for chaining.
*/
public Builder setId(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
id_ = value;
bitField0_ |= 0x00000008;
onChanged();
return this;
}
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return This builder for chaining.
*/
public Builder clearId() {
id_ = getDefaultInstance().getId();
bitField0_ = (bitField0_ & ~0x00000008);
onChanged();
return this;
}
/**
*
*
*
* Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
* is the final component of [name][google.cloud.retail.v2alpha.Product.name].
* For example, this field is "id_1", if
* [name][google.cloud.retail.v2alpha.Product.name] is
* `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [id](https://support.google.com/merchants/answer/6324405). Schema.org
* property [Product.sku](https://schema.org/sku).
*
*
* string id = 2 [(.google.api.field_behavior) = IMMUTABLE];
*
* @param value The bytes for id to set.
* @return This builder for chaining.
*/
public Builder setIdBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
id_ = value;
bitField0_ |= 0x00000008;
onChanged();
return this;
}
private int type_ = 0;
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The enum numeric value on the wire for type.
*/
@java.lang.Override
public int getTypeValue() {
return type_;
}
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @param value The enum numeric value on the wire for type to set.
* @return This builder for chaining.
*/
public Builder setTypeValue(int value) {
type_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The type.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product.Type getType() {
com.google.cloud.retail.v2alpha.Product.Type result =
com.google.cloud.retail.v2alpha.Product.Type.forNumber(type_);
return result == null ? com.google.cloud.retail.v2alpha.Product.Type.UNRECOGNIZED : result;
}
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @param value The type to set.
* @return This builder for chaining.
*/
public Builder setType(com.google.cloud.retail.v2alpha.Product.Type value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000010;
type_ = value.getNumber();
onChanged();
return this;
}
/**
*
*
*
* Immutable. The type of the product. Default to
* [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
* if unset.
*
*
*
* .google.cloud.retail.v2alpha.Product.Type type = 3 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return This builder for chaining.
*/
public Builder clearType() {
bitField0_ = (bitField0_ & ~0x00000010);
type_ = 0;
onChanged();
return this;
}
private java.lang.Object primaryProductId_ = "";
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @return The primaryProductId.
*/
public java.lang.String getPrimaryProductId() {
java.lang.Object ref = primaryProductId_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
primaryProductId_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @return The bytes for primaryProductId.
*/
public com.google.protobuf.ByteString getPrimaryProductIdBytes() {
java.lang.Object ref = primaryProductId_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
primaryProductId_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @param value The primaryProductId to set.
* @return This builder for chaining.
*/
public Builder setPrimaryProductId(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
primaryProductId_ = value;
bitField0_ |= 0x00000020;
onChanged();
return this;
}
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @return This builder for chaining.
*/
public Builder clearPrimaryProductId() {
primaryProductId_ = getDefaultInstance().getPrimaryProductId();
bitField0_ = (bitField0_ & ~0x00000020);
onChanged();
return this;
}
/**
*
*
*
* Variant group identifier. Must be an
* [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
* with this product. Otherwise, an error is thrown.
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
* empty or set to the same value as
* [id][google.cloud.retail.v2alpha.Product.id].
*
* For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
* cannot be empty. A maximum of 2,000 products are allowed to share the same
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [item_group_id](https://support.google.com/merchants/answer/6324507).
* Schema.org property
* [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
*
*
* string primary_product_id = 4;
*
* @param value The bytes for primaryProductId to set.
* @return This builder for chaining.
*/
public Builder setPrimaryProductIdBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
primaryProductId_ = value;
bitField0_ |= 0x00000020;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList collectionMemberIds_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureCollectionMemberIdsIsMutable() {
if (!collectionMemberIds_.isModifiable()) {
collectionMemberIds_ = new com.google.protobuf.LazyStringArrayList(collectionMemberIds_);
}
bitField0_ |= 0x00000040;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @return A list containing the collectionMemberIds.
*/
public com.google.protobuf.ProtocolStringList getCollectionMemberIdsList() {
collectionMemberIds_.makeImmutable();
return collectionMemberIds_;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @return The count of collectionMemberIds.
*/
public int getCollectionMemberIdsCount() {
return collectionMemberIds_.size();
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param index The index of the element to return.
* @return The collectionMemberIds at the given index.
*/
public java.lang.String getCollectionMemberIds(int index) {
return collectionMemberIds_.get(index);
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param index The index of the value to return.
* @return The bytes of the collectionMemberIds at the given index.
*/
public com.google.protobuf.ByteString getCollectionMemberIdsBytes(int index) {
return collectionMemberIds_.getByteString(index);
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param index The index to set the value at.
* @param value The collectionMemberIds to set.
* @return This builder for chaining.
*/
public Builder setCollectionMemberIds(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureCollectionMemberIdsIsMutable();
collectionMemberIds_.set(index, value);
bitField0_ |= 0x00000040;
onChanged();
return this;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param value The collectionMemberIds to add.
* @return This builder for chaining.
*/
public Builder addCollectionMemberIds(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureCollectionMemberIdsIsMutable();
collectionMemberIds_.add(value);
bitField0_ |= 0x00000040;
onChanged();
return this;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param values The collectionMemberIds to add.
* @return This builder for chaining.
*/
public Builder addAllCollectionMemberIds(java.lang.Iterable values) {
ensureCollectionMemberIdsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, collectionMemberIds_);
bitField0_ |= 0x00000040;
onChanged();
return this;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @return This builder for chaining.
*/
public Builder clearCollectionMemberIds() {
collectionMemberIds_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000040);
;
onChanged();
return this;
}
/**
*
*
*
* The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
* when [type][google.cloud.retail.v2alpha.Product.type] is
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
*
* Non-existent product ids are allowed.
* The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
* either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
* an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
* maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
* return.
*
*
* repeated string collection_member_ids = 5;
*
* @param value The bytes of the collectionMemberIds to add.
* @return This builder for chaining.
*/
public Builder addCollectionMemberIdsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureCollectionMemberIdsIsMutable();
collectionMemberIds_.add(value);
bitField0_ |= 0x00000040;
onChanged();
return this;
}
private java.lang.Object gtin_ = "";
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @return The gtin.
*/
public java.lang.String getGtin() {
java.lang.Object ref = gtin_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
gtin_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @return The bytes for gtin.
*/
public com.google.protobuf.ByteString getGtinBytes() {
java.lang.Object ref = gtin_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
gtin_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @param value The gtin to set.
* @return This builder for chaining.
*/
public Builder setGtin(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
gtin_ = value;
bitField0_ |= 0x00000080;
onChanged();
return this;
}
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @return This builder for chaining.
*/
public Builder clearGtin() {
gtin_ = getDefaultInstance().getGtin();
bitField0_ = (bitField0_ & ~0x00000080);
onChanged();
return this;
}
/**
*
*
*
* The Global Trade Item Number (GTIN) of the product.
*
* This field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Corresponding properties: Google Merchant Center property
* [gtin](https://support.google.com/merchants/answer/6324461).
* Schema.org property
* [Product.isbn](https://schema.org/isbn),
* [Product.gtin8](https://schema.org/gtin8),
* [Product.gtin12](https://schema.org/gtin12),
* [Product.gtin13](https://schema.org/gtin13), or
* [Product.gtin14](https://schema.org/gtin14).
*
* If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
*
*
* string gtin = 6;
*
* @param value The bytes for gtin to set.
* @return This builder for chaining.
*/
public Builder setGtinBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
gtin_ = value;
bitField0_ |= 0x00000080;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList categories_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureCategoriesIsMutable() {
if (!categories_.isModifiable()) {
categories_ = new com.google.protobuf.LazyStringArrayList(categories_);
}
bitField0_ |= 0x00000100;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @return A list containing the categories.
*/
public com.google.protobuf.ProtocolStringList getCategoriesList() {
categories_.makeImmutable();
return categories_;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @return The count of categories.
*/
public int getCategoriesCount() {
return categories_.size();
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param index The index of the element to return.
* @return The categories at the given index.
*/
public java.lang.String getCategories(int index) {
return categories_.get(index);
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param index The index of the value to return.
* @return The bytes of the categories at the given index.
*/
public com.google.protobuf.ByteString getCategoriesBytes(int index) {
return categories_.getByteString(index);
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param index The index to set the value at.
* @param value The categories to set.
* @return This builder for chaining.
*/
public Builder setCategories(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureCategoriesIsMutable();
categories_.set(index, value);
bitField0_ |= 0x00000100;
onChanged();
return this;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param value The categories to add.
* @return This builder for chaining.
*/
public Builder addCategories(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureCategoriesIsMutable();
categories_.add(value);
bitField0_ |= 0x00000100;
onChanged();
return this;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param values The categories to add.
* @return This builder for chaining.
*/
public Builder addAllCategories(java.lang.Iterable values) {
ensureCategoriesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, categories_);
bitField0_ |= 0x00000100;
onChanged();
return this;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @return This builder for chaining.
*/
public Builder clearCategories() {
categories_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000100);
;
onChanged();
return this;
}
/**
*
*
*
* Product categories. This field is repeated for supporting one product
* belonging to several parallel categories. Strongly recommended using the
* full path for better search / recommendation quality.
*
*
* To represent full path of category, use '>' sign to separate different
* hierarchies. If '>' is part of the category name, replace it with
* other character(s).
*
* For example, if a shoes product belongs to both
* ["Shoes & Accessories" -> "Shoes"] and
* ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
* represented as:
*
* "categories": [
* "Shoes & Accessories > Shoes",
* "Sports & Fitness > Athletic Clothing > Shoes"
* ]
*
* Must be set for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product] otherwise an
* INVALID_ARGUMENT error is returned.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
* allowed. Each value must be a UTF-8 encoded string with a length limit of
* 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [google_product_category][mc_google_product_category]. Schema.org property
* [Product.category] (https://schema.org/category).
*
* [mc_google_product_category]:
* https://support.google.com/merchants/answer/6324436
*
*
* repeated string categories = 7;
*
* @param value The bytes of the categories to add.
* @return This builder for chaining.
*/
public Builder addCategoriesBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureCategoriesIsMutable();
categories_.add(value);
bitField0_ |= 0x00000100;
onChanged();
return this;
}
private java.lang.Object title_ = "";
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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;
}
}
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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;
}
}
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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_ |= 0x00000200;
onChanged();
return this;
}
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @return This builder for chaining.
*/
public Builder clearTitle() {
title_ = getDefaultInstance().getTitle();
bitField0_ = (bitField0_ & ~0x00000200);
onChanged();
return this;
}
/**
*
*
*
* Required. Product title.
*
* This field must be a UTF-8 encoded string with a length limit of 1,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [title](https://support.google.com/merchants/answer/6324415). Schema.org
* property [Product.name](https://schema.org/name).
*
*
* string title = 8 [(.google.api.field_behavior) = REQUIRED];
*
* @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_ |= 0x00000200;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList brands_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureBrandsIsMutable() {
if (!brands_.isModifiable()) {
brands_ = new com.google.protobuf.LazyStringArrayList(brands_);
}
bitField0_ |= 0x00000400;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @return A list containing the brands.
*/
public com.google.protobuf.ProtocolStringList getBrandsList() {
brands_.makeImmutable();
return brands_;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @return The count of brands.
*/
public int getBrandsCount() {
return brands_.size();
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param index The index of the element to return.
* @return The brands at the given index.
*/
public java.lang.String getBrands(int index) {
return brands_.get(index);
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param index The index of the value to return.
* @return The bytes of the brands at the given index.
*/
public com.google.protobuf.ByteString getBrandsBytes(int index) {
return brands_.getByteString(index);
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param index The index to set the value at.
* @param value The brands to set.
* @return This builder for chaining.
*/
public Builder setBrands(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureBrandsIsMutable();
brands_.set(index, value);
bitField0_ |= 0x00000400;
onChanged();
return this;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param value The brands to add.
* @return This builder for chaining.
*/
public Builder addBrands(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureBrandsIsMutable();
brands_.add(value);
bitField0_ |= 0x00000400;
onChanged();
return this;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param values The brands to add.
* @return This builder for chaining.
*/
public Builder addAllBrands(java.lang.Iterable values) {
ensureBrandsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, brands_);
bitField0_ |= 0x00000400;
onChanged();
return this;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @return This builder for chaining.
*/
public Builder clearBrands() {
brands_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000400);
;
onChanged();
return this;
}
/**
*
*
*
* The brands of the product.
*
* A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
* string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [brand](https://support.google.com/merchants/answer/6324351). Schema.org
* property [Product.brand](https://schema.org/brand).
*
*
* repeated string brands = 9;
*
* @param value The bytes of the brands to add.
* @return This builder for chaining.
*/
public Builder addBrandsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureBrandsIsMutable();
brands_.add(value);
bitField0_ |= 0x00000400;
onChanged();
return this;
}
private java.lang.Object description_ = "";
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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;
}
}
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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;
}
}
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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_ |= 0x00000800;
onChanged();
return this;
}
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @return This builder for chaining.
*/
public Builder clearDescription() {
description_ = getDefaultInstance().getDescription();
bitField0_ = (bitField0_ & ~0x00000800);
onChanged();
return this;
}
/**
*
*
*
* Product description.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [description](https://support.google.com/merchants/answer/6324468).
* Schema.org property [Product.description](https://schema.org/description).
*
*
* string description = 10;
*
* @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_ |= 0x00000800;
onChanged();
return this;
}
private java.lang.Object languageCode_ = "";
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @return The languageCode.
*/
public java.lang.String getLanguageCode() {
java.lang.Object ref = languageCode_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
languageCode_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @return The bytes for languageCode.
*/
public com.google.protobuf.ByteString getLanguageCodeBytes() {
java.lang.Object ref = languageCode_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
languageCode_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @param value The languageCode to set.
* @return This builder for chaining.
*/
public Builder setLanguageCode(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
languageCode_ = value;
bitField0_ |= 0x00001000;
onChanged();
return this;
}
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @return This builder for chaining.
*/
public Builder clearLanguageCode() {
languageCode_ = getDefaultInstance().getLanguageCode();
bitField0_ = (bitField0_ & ~0x00001000);
onChanged();
return this;
}
/**
*
*
*
* Language of the title/description and other string attributes. Use language
* tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
*
* For product prediction, this field is ignored and the model automatically
* detects the text language. The
* [Product][google.cloud.retail.v2alpha.Product] can include text in
* different languages, but duplicating
* [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
* languages can result in degraded model performance.
*
* For product search this field is in use. It defaults to "en-US" if unset.
*
*
* string language_code = 11;
*
* @param value The bytes for languageCode to set.
* @return This builder for chaining.
*/
public Builder setLanguageCodeBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
languageCode_ = value;
bitField0_ |= 0x00001000;
onChanged();
return this;
}
private static final class AttributesConverter
implements com.google.protobuf.MapFieldBuilder.Converter<
java.lang.String,
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder,
com.google.cloud.retail.v2alpha.CustomAttribute> {
@java.lang.Override
public com.google.cloud.retail.v2alpha.CustomAttribute build(
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder val) {
if (val instanceof com.google.cloud.retail.v2alpha.CustomAttribute) {
return (com.google.cloud.retail.v2alpha.CustomAttribute) val;
}
return ((com.google.cloud.retail.v2alpha.CustomAttribute.Builder) val).build();
}
@java.lang.Override
public com.google.protobuf.MapEntry<
java.lang.String, com.google.cloud.retail.v2alpha.CustomAttribute>
defaultEntry() {
return AttributesDefaultEntryHolder.defaultEntry;
}
};
private static final AttributesConverter attributesConverter = new AttributesConverter();
private com.google.protobuf.MapFieldBuilder<
java.lang.String,
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder,
com.google.cloud.retail.v2alpha.CustomAttribute,
com.google.cloud.retail.v2alpha.CustomAttribute.Builder>
attributes_;
private com.google.protobuf.MapFieldBuilder<
java.lang.String,
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder,
com.google.cloud.retail.v2alpha.CustomAttribute,
com.google.cloud.retail.v2alpha.CustomAttribute.Builder>
internalGetAttributes() {
if (attributes_ == null) {
return new com.google.protobuf.MapFieldBuilder<>(attributesConverter);
}
return attributes_;
}
private com.google.protobuf.MapFieldBuilder<
java.lang.String,
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder,
com.google.cloud.retail.v2alpha.CustomAttribute,
com.google.cloud.retail.v2alpha.CustomAttribute.Builder>
internalGetMutableAttributes() {
if (attributes_ == null) {
attributes_ = new com.google.protobuf.MapFieldBuilder<>(attributesConverter);
}
bitField0_ |= 0x00002000;
onChanged();
return attributes_;
}
public int getAttributesCount() {
return internalGetAttributes().ensureBuilderMap().size();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public boolean containsAttributes(java.lang.String key) {
if (key == null) {
throw new NullPointerException("map key");
}
return internalGetAttributes().ensureBuilderMap().containsKey(key);
}
/** Use {@link #getAttributesMap()} instead. */
@java.lang.Override
@java.lang.Deprecated
public java.util.Map
getAttributes() {
return getAttributesMap();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public java.util.Map
getAttributesMap() {
return internalGetAttributes().getImmutableMap();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public /* nullable */ com.google.cloud.retail.v2alpha.CustomAttribute getAttributesOrDefault(
java.lang.String key,
/* nullable */
com.google.cloud.retail.v2alpha.CustomAttribute defaultValue) {
if (key == null) {
throw new NullPointerException("map key");
}
java.util.Map
map = internalGetMutableAttributes().ensureBuilderMap();
return map.containsKey(key) ? attributesConverter.build(map.get(key)) : defaultValue;
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.CustomAttribute getAttributesOrThrow(
java.lang.String key) {
if (key == null) {
throw new NullPointerException("map key");
}
java.util.Map
map = internalGetMutableAttributes().ensureBuilderMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return attributesConverter.build(map.get(key));
}
public Builder clearAttributes() {
bitField0_ = (bitField0_ & ~0x00002000);
internalGetMutableAttributes().clear();
return this;
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
public Builder removeAttributes(java.lang.String key) {
if (key == null) {
throw new NullPointerException("map key");
}
internalGetMutableAttributes().ensureBuilderMap().remove(key);
return this;
}
/** Use alternate mutation accessors instead. */
@java.lang.Deprecated
public java.util.Map
getMutableAttributes() {
bitField0_ |= 0x00002000;
return internalGetMutableAttributes().ensureMessageMap();
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
public Builder putAttributes(
java.lang.String key, com.google.cloud.retail.v2alpha.CustomAttribute value) {
if (key == null) {
throw new NullPointerException("map key");
}
if (value == null) {
throw new NullPointerException("map value");
}
internalGetMutableAttributes().ensureBuilderMap().put(key, value);
bitField0_ |= 0x00002000;
return this;
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
public Builder putAllAttributes(
java.util.Map values) {
for (java.util.Map.Entry
e : values.entrySet()) {
if (e.getKey() == null || e.getValue() == null) {
throw new NullPointerException();
}
}
internalGetMutableAttributes().ensureBuilderMap().putAll(values);
bitField0_ |= 0x00002000;
return this;
}
/**
*
*
*
* Highly encouraged. Extra product attributes to be included. For example,
* for products, this could include the store name, vendor, style, color, etc.
* These are very strong signals for recommendation model, thus we highly
* recommend providing the attributes here.
*
* Features that can take on one of a limited number of possible values. Two
* types of features can be set are:
*
* Textual features. some examples would be the brand/maker of a product, or
* country of a customer. Numerical features. Some examples would be the
* height/weight of a product, or age of a customer.
*
* For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
* "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
* }`.
*
* This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
* error is returned:
*
* * Max entries count: 200.
* * The key must be a UTF-8 encoded string with a length limit of 128
* characters.
* * For indexable attribute, the key must match the pattern:
* `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
* `KEY_1_LIKE_THIS`.
* * For text attributes, at most 400 values are allowed. Empty values are not
* allowed. Each value must be a non-empty UTF-8 encoded string with a
* length limit of 256 characters.
* * For number attributes, at most 400 values are allowed.
*
*
* map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 12;
*/
public com.google.cloud.retail.v2alpha.CustomAttribute.Builder putAttributesBuilderIfAbsent(
java.lang.String key) {
java.util.Map
builderMap = internalGetMutableAttributes().ensureBuilderMap();
com.google.cloud.retail.v2alpha.CustomAttributeOrBuilder entry = builderMap.get(key);
if (entry == null) {
entry = com.google.cloud.retail.v2alpha.CustomAttribute.newBuilder();
builderMap.put(key, entry);
}
if (entry instanceof com.google.cloud.retail.v2alpha.CustomAttribute) {
entry = ((com.google.cloud.retail.v2alpha.CustomAttribute) entry).toBuilder();
builderMap.put(key, entry);
}
return (com.google.cloud.retail.v2alpha.CustomAttribute.Builder) entry;
}
private com.google.protobuf.LazyStringArrayList tags_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureTagsIsMutable() {
if (!tags_.isModifiable()) {
tags_ = new com.google.protobuf.LazyStringArrayList(tags_);
}
bitField0_ |= 0x00004000;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @return A list containing the tags.
*/
public com.google.protobuf.ProtocolStringList getTagsList() {
tags_.makeImmutable();
return tags_;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @return The count of tags.
*/
public int getTagsCount() {
return tags_.size();
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param index The index of the element to return.
* @return The tags at the given index.
*/
public java.lang.String getTags(int index) {
return tags_.get(index);
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param index The index of the value to return.
* @return The bytes of the tags at the given index.
*/
public com.google.protobuf.ByteString getTagsBytes(int index) {
return tags_.getByteString(index);
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param index The index to set the value at.
* @param value The tags to set.
* @return This builder for chaining.
*/
public Builder setTags(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureTagsIsMutable();
tags_.set(index, value);
bitField0_ |= 0x00004000;
onChanged();
return this;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param value The tags to add.
* @return This builder for chaining.
*/
public Builder addTags(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureTagsIsMutable();
tags_.add(value);
bitField0_ |= 0x00004000;
onChanged();
return this;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param values The tags to add.
* @return This builder for chaining.
*/
public Builder addAllTags(java.lang.Iterable values) {
ensureTagsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tags_);
bitField0_ |= 0x00004000;
onChanged();
return this;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @return This builder for chaining.
*/
public Builder clearTags() {
tags_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00004000);
;
onChanged();
return this;
}
/**
*
*
*
* Custom tags associated with the product.
*
* At most 250 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
* encoded string with a length limit of 1,000 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* This tag can be used for filtering recommendation results by passing the
* tag as part of the
* [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
*
* Corresponding properties: Google Merchant Center property
* [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
*
*
* repeated string tags = 13;
*
* @param value The bytes of the tags to add.
* @return This builder for chaining.
*/
public Builder addTagsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureTagsIsMutable();
tags_.add(value);
bitField0_ |= 0x00004000;
onChanged();
return this;
}
private com.google.cloud.retail.v2alpha.PriceInfo priceInfo_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.PriceInfo,
com.google.cloud.retail.v2alpha.PriceInfo.Builder,
com.google.cloud.retail.v2alpha.PriceInfoOrBuilder>
priceInfoBuilder_;
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*
* @return Whether the priceInfo field is set.
*/
public boolean hasPriceInfo() {
return ((bitField0_ & 0x00008000) != 0);
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*
* @return The priceInfo.
*/
public com.google.cloud.retail.v2alpha.PriceInfo getPriceInfo() {
if (priceInfoBuilder_ == null) {
return priceInfo_ == null
? com.google.cloud.retail.v2alpha.PriceInfo.getDefaultInstance()
: priceInfo_;
} else {
return priceInfoBuilder_.getMessage();
}
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public Builder setPriceInfo(com.google.cloud.retail.v2alpha.PriceInfo value) {
if (priceInfoBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
priceInfo_ = value;
} else {
priceInfoBuilder_.setMessage(value);
}
bitField0_ |= 0x00008000;
onChanged();
return this;
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public Builder setPriceInfo(com.google.cloud.retail.v2alpha.PriceInfo.Builder builderForValue) {
if (priceInfoBuilder_ == null) {
priceInfo_ = builderForValue.build();
} else {
priceInfoBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x00008000;
onChanged();
return this;
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public Builder mergePriceInfo(com.google.cloud.retail.v2alpha.PriceInfo value) {
if (priceInfoBuilder_ == null) {
if (((bitField0_ & 0x00008000) != 0)
&& priceInfo_ != null
&& priceInfo_ != com.google.cloud.retail.v2alpha.PriceInfo.getDefaultInstance()) {
getPriceInfoBuilder().mergeFrom(value);
} else {
priceInfo_ = value;
}
} else {
priceInfoBuilder_.mergeFrom(value);
}
if (priceInfo_ != null) {
bitField0_ |= 0x00008000;
onChanged();
}
return this;
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public Builder clearPriceInfo() {
bitField0_ = (bitField0_ & ~0x00008000);
priceInfo_ = null;
if (priceInfoBuilder_ != null) {
priceInfoBuilder_.dispose();
priceInfoBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public com.google.cloud.retail.v2alpha.PriceInfo.Builder getPriceInfoBuilder() {
bitField0_ |= 0x00008000;
onChanged();
return getPriceInfoFieldBuilder().getBuilder();
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
public com.google.cloud.retail.v2alpha.PriceInfoOrBuilder getPriceInfoOrBuilder() {
if (priceInfoBuilder_ != null) {
return priceInfoBuilder_.getMessageOrBuilder();
} else {
return priceInfo_ == null
? com.google.cloud.retail.v2alpha.PriceInfo.getDefaultInstance()
: priceInfo_;
}
}
/**
*
*
*
* Product price and cost information.
*
* Corresponding properties: Google Merchant Center property
* [price](https://support.google.com/merchants/answer/6324371).
*
*
* .google.cloud.retail.v2alpha.PriceInfo price_info = 14;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.PriceInfo,
com.google.cloud.retail.v2alpha.PriceInfo.Builder,
com.google.cloud.retail.v2alpha.PriceInfoOrBuilder>
getPriceInfoFieldBuilder() {
if (priceInfoBuilder_ == null) {
priceInfoBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.PriceInfo,
com.google.cloud.retail.v2alpha.PriceInfo.Builder,
com.google.cloud.retail.v2alpha.PriceInfoOrBuilder>(
getPriceInfo(), getParentForChildren(), isClean());
priceInfo_ = null;
}
return priceInfoBuilder_;
}
private com.google.cloud.retail.v2alpha.Rating rating_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Rating,
com.google.cloud.retail.v2alpha.Rating.Builder,
com.google.cloud.retail.v2alpha.RatingOrBuilder>
ratingBuilder_;
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*
* @return Whether the rating field is set.
*/
public boolean hasRating() {
return ((bitField0_ & 0x00010000) != 0);
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*
* @return The rating.
*/
public com.google.cloud.retail.v2alpha.Rating getRating() {
if (ratingBuilder_ == null) {
return rating_ == null
? com.google.cloud.retail.v2alpha.Rating.getDefaultInstance()
: rating_;
} else {
return ratingBuilder_.getMessage();
}
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public Builder setRating(com.google.cloud.retail.v2alpha.Rating value) {
if (ratingBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
rating_ = value;
} else {
ratingBuilder_.setMessage(value);
}
bitField0_ |= 0x00010000;
onChanged();
return this;
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public Builder setRating(com.google.cloud.retail.v2alpha.Rating.Builder builderForValue) {
if (ratingBuilder_ == null) {
rating_ = builderForValue.build();
} else {
ratingBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x00010000;
onChanged();
return this;
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public Builder mergeRating(com.google.cloud.retail.v2alpha.Rating value) {
if (ratingBuilder_ == null) {
if (((bitField0_ & 0x00010000) != 0)
&& rating_ != null
&& rating_ != com.google.cloud.retail.v2alpha.Rating.getDefaultInstance()) {
getRatingBuilder().mergeFrom(value);
} else {
rating_ = value;
}
} else {
ratingBuilder_.mergeFrom(value);
}
if (rating_ != null) {
bitField0_ |= 0x00010000;
onChanged();
}
return this;
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public Builder clearRating() {
bitField0_ = (bitField0_ & ~0x00010000);
rating_ = null;
if (ratingBuilder_ != null) {
ratingBuilder_.dispose();
ratingBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public com.google.cloud.retail.v2alpha.Rating.Builder getRatingBuilder() {
bitField0_ |= 0x00010000;
onChanged();
return getRatingFieldBuilder().getBuilder();
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
public com.google.cloud.retail.v2alpha.RatingOrBuilder getRatingOrBuilder() {
if (ratingBuilder_ != null) {
return ratingBuilder_.getMessageOrBuilder();
} else {
return rating_ == null
? com.google.cloud.retail.v2alpha.Rating.getDefaultInstance()
: rating_;
}
}
/**
*
*
*
* The rating of this product.
*
*
* .google.cloud.retail.v2alpha.Rating rating = 15;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Rating,
com.google.cloud.retail.v2alpha.Rating.Builder,
com.google.cloud.retail.v2alpha.RatingOrBuilder>
getRatingFieldBuilder() {
if (ratingBuilder_ == null) {
ratingBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Rating,
com.google.cloud.retail.v2alpha.Rating.Builder,
com.google.cloud.retail.v2alpha.RatingOrBuilder>(
getRating(), getParentForChildren(), isClean());
rating_ = null;
}
return ratingBuilder_;
}
private com.google.protobuf.Timestamp availableTime_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
availableTimeBuilder_;
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*
* @return Whether the availableTime field is set.
*/
public boolean hasAvailableTime() {
return ((bitField0_ & 0x00020000) != 0);
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*
* @return The availableTime.
*/
public com.google.protobuf.Timestamp getAvailableTime() {
if (availableTimeBuilder_ == null) {
return availableTime_ == null
? com.google.protobuf.Timestamp.getDefaultInstance()
: availableTime_;
} else {
return availableTimeBuilder_.getMessage();
}
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public Builder setAvailableTime(com.google.protobuf.Timestamp value) {
if (availableTimeBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
availableTime_ = value;
} else {
availableTimeBuilder_.setMessage(value);
}
bitField0_ |= 0x00020000;
onChanged();
return this;
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public Builder setAvailableTime(com.google.protobuf.Timestamp.Builder builderForValue) {
if (availableTimeBuilder_ == null) {
availableTime_ = builderForValue.build();
} else {
availableTimeBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x00020000;
onChanged();
return this;
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public Builder mergeAvailableTime(com.google.protobuf.Timestamp value) {
if (availableTimeBuilder_ == null) {
if (((bitField0_ & 0x00020000) != 0)
&& availableTime_ != null
&& availableTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
getAvailableTimeBuilder().mergeFrom(value);
} else {
availableTime_ = value;
}
} else {
availableTimeBuilder_.mergeFrom(value);
}
if (availableTime_ != null) {
bitField0_ |= 0x00020000;
onChanged();
}
return this;
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public Builder clearAvailableTime() {
bitField0_ = (bitField0_ & ~0x00020000);
availableTime_ = null;
if (availableTimeBuilder_ != null) {
availableTimeBuilder_.dispose();
availableTimeBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public com.google.protobuf.Timestamp.Builder getAvailableTimeBuilder() {
bitField0_ |= 0x00020000;
onChanged();
return getAvailableTimeFieldBuilder().getBuilder();
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
public com.google.protobuf.TimestampOrBuilder getAvailableTimeOrBuilder() {
if (availableTimeBuilder_ != null) {
return availableTimeBuilder_.getMessageOrBuilder();
} else {
return availableTime_ == null
? com.google.protobuf.Timestamp.getDefaultInstance()
: availableTime_;
}
}
/**
*
*
*
* The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
* becomes available for
* [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
* Note that this is only applicable to
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], and
* ignored for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT].
*
*
* .google.protobuf.Timestamp available_time = 18;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
getAvailableTimeFieldBuilder() {
if (availableTimeBuilder_ == null) {
availableTimeBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>(
getAvailableTime(), getParentForChildren(), isClean());
availableTime_ = null;
}
return availableTimeBuilder_;
}
private int availability_ = 0;
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @return The enum numeric value on the wire for availability.
*/
@java.lang.Override
public int getAvailabilityValue() {
return availability_;
}
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @param value The enum numeric value on the wire for availability to set.
* @return This builder for chaining.
*/
public Builder setAvailabilityValue(int value) {
availability_ = value;
bitField0_ |= 0x00040000;
onChanged();
return this;
}
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @return The availability.
*/
@java.lang.Override
public com.google.cloud.retail.v2alpha.Product.Availability getAvailability() {
com.google.cloud.retail.v2alpha.Product.Availability result =
com.google.cloud.retail.v2alpha.Product.Availability.forNumber(availability_);
return result == null
? com.google.cloud.retail.v2alpha.Product.Availability.UNRECOGNIZED
: result;
}
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @param value The availability to set.
* @return This builder for chaining.
*/
public Builder setAvailability(com.google.cloud.retail.v2alpha.Product.Availability value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00040000;
availability_ = value.getNumber();
onChanged();
return this;
}
/**
*
*
*
* The online availability of the
* [Product][google.cloud.retail.v2alpha.Product]. Default to
* [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
*
* Corresponding properties: Google Merchant Center property
* [availability](https://support.google.com/merchants/answer/6324448).
* Schema.org property [Offer.availability](https://schema.org/availability).
*
*
* .google.cloud.retail.v2alpha.Product.Availability availability = 19;
*
* @return This builder for chaining.
*/
public Builder clearAvailability() {
bitField0_ = (bitField0_ & ~0x00040000);
availability_ = 0;
onChanged();
return this;
}
private com.google.protobuf.Int32Value availableQuantity_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Int32Value,
com.google.protobuf.Int32Value.Builder,
com.google.protobuf.Int32ValueOrBuilder>
availableQuantityBuilder_;
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*
* @return Whether the availableQuantity field is set.
*/
public boolean hasAvailableQuantity() {
return ((bitField0_ & 0x00080000) != 0);
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*
* @return The availableQuantity.
*/
public com.google.protobuf.Int32Value getAvailableQuantity() {
if (availableQuantityBuilder_ == null) {
return availableQuantity_ == null
? com.google.protobuf.Int32Value.getDefaultInstance()
: availableQuantity_;
} else {
return availableQuantityBuilder_.getMessage();
}
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public Builder setAvailableQuantity(com.google.protobuf.Int32Value value) {
if (availableQuantityBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
availableQuantity_ = value;
} else {
availableQuantityBuilder_.setMessage(value);
}
bitField0_ |= 0x00080000;
onChanged();
return this;
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public Builder setAvailableQuantity(com.google.protobuf.Int32Value.Builder builderForValue) {
if (availableQuantityBuilder_ == null) {
availableQuantity_ = builderForValue.build();
} else {
availableQuantityBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x00080000;
onChanged();
return this;
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public Builder mergeAvailableQuantity(com.google.protobuf.Int32Value value) {
if (availableQuantityBuilder_ == null) {
if (((bitField0_ & 0x00080000) != 0)
&& availableQuantity_ != null
&& availableQuantity_ != com.google.protobuf.Int32Value.getDefaultInstance()) {
getAvailableQuantityBuilder().mergeFrom(value);
} else {
availableQuantity_ = value;
}
} else {
availableQuantityBuilder_.mergeFrom(value);
}
if (availableQuantity_ != null) {
bitField0_ |= 0x00080000;
onChanged();
}
return this;
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public Builder clearAvailableQuantity() {
bitField0_ = (bitField0_ & ~0x00080000);
availableQuantity_ = null;
if (availableQuantityBuilder_ != null) {
availableQuantityBuilder_.dispose();
availableQuantityBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public com.google.protobuf.Int32Value.Builder getAvailableQuantityBuilder() {
bitField0_ |= 0x00080000;
onChanged();
return getAvailableQuantityFieldBuilder().getBuilder();
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
public com.google.protobuf.Int32ValueOrBuilder getAvailableQuantityOrBuilder() {
if (availableQuantityBuilder_ != null) {
return availableQuantityBuilder_.getMessageOrBuilder();
} else {
return availableQuantity_ == null
? com.google.protobuf.Int32Value.getDefaultInstance()
: availableQuantity_;
}
}
/**
*
*
*
* The available quantity of the item.
*
*
* .google.protobuf.Int32Value available_quantity = 20;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Int32Value,
com.google.protobuf.Int32Value.Builder,
com.google.protobuf.Int32ValueOrBuilder>
getAvailableQuantityFieldBuilder() {
if (availableQuantityBuilder_ == null) {
availableQuantityBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Int32Value,
com.google.protobuf.Int32Value.Builder,
com.google.protobuf.Int32ValueOrBuilder>(
getAvailableQuantity(), getParentForChildren(), isClean());
availableQuantity_ = null;
}
return availableQuantityBuilder_;
}
private java.util.List fulfillmentInfo_ =
java.util.Collections.emptyList();
private void ensureFulfillmentInfoIsMutable() {
if (!((bitField0_ & 0x00100000) != 0)) {
fulfillmentInfo_ =
new java.util.ArrayList(
fulfillmentInfo_);
bitField0_ |= 0x00100000;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.FulfillmentInfo,
com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder,
com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder>
fulfillmentInfoBuilder_;
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public java.util.List
getFulfillmentInfoList() {
if (fulfillmentInfoBuilder_ == null) {
return java.util.Collections.unmodifiableList(fulfillmentInfo_);
} else {
return fulfillmentInfoBuilder_.getMessageList();
}
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public int getFulfillmentInfoCount() {
if (fulfillmentInfoBuilder_ == null) {
return fulfillmentInfo_.size();
} else {
return fulfillmentInfoBuilder_.getCount();
}
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public com.google.cloud.retail.v2alpha.FulfillmentInfo getFulfillmentInfo(int index) {
if (fulfillmentInfoBuilder_ == null) {
return fulfillmentInfo_.get(index);
} else {
return fulfillmentInfoBuilder_.getMessage(index);
}
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder setFulfillmentInfo(
int index, com.google.cloud.retail.v2alpha.FulfillmentInfo value) {
if (fulfillmentInfoBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.set(index, value);
onChanged();
} else {
fulfillmentInfoBuilder_.setMessage(index, value);
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder setFulfillmentInfo(
int index, com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder builderForValue) {
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.set(index, builderForValue.build());
onChanged();
} else {
fulfillmentInfoBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder addFulfillmentInfo(com.google.cloud.retail.v2alpha.FulfillmentInfo value) {
if (fulfillmentInfoBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.add(value);
onChanged();
} else {
fulfillmentInfoBuilder_.addMessage(value);
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder addFulfillmentInfo(
int index, com.google.cloud.retail.v2alpha.FulfillmentInfo value) {
if (fulfillmentInfoBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.add(index, value);
onChanged();
} else {
fulfillmentInfoBuilder_.addMessage(index, value);
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder addFulfillmentInfo(
com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder builderForValue) {
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.add(builderForValue.build());
onChanged();
} else {
fulfillmentInfoBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder addFulfillmentInfo(
int index, com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder builderForValue) {
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.add(index, builderForValue.build());
onChanged();
} else {
fulfillmentInfoBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder addAllFulfillmentInfo(
java.lang.Iterable extends com.google.cloud.retail.v2alpha.FulfillmentInfo> values) {
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fulfillmentInfo_);
onChanged();
} else {
fulfillmentInfoBuilder_.addAllMessages(values);
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder clearFulfillmentInfo() {
if (fulfillmentInfoBuilder_ == null) {
fulfillmentInfo_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00100000);
onChanged();
} else {
fulfillmentInfoBuilder_.clear();
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public Builder removeFulfillmentInfo(int index) {
if (fulfillmentInfoBuilder_ == null) {
ensureFulfillmentInfoIsMutable();
fulfillmentInfo_.remove(index);
onChanged();
} else {
fulfillmentInfoBuilder_.remove(index);
}
return this;
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder getFulfillmentInfoBuilder(
int index) {
return getFulfillmentInfoFieldBuilder().getBuilder(index);
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder getFulfillmentInfoOrBuilder(
int index) {
if (fulfillmentInfoBuilder_ == null) {
return fulfillmentInfo_.get(index);
} else {
return fulfillmentInfoBuilder_.getMessageOrBuilder(index);
}
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public java.util.List extends com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder>
getFulfillmentInfoOrBuilderList() {
if (fulfillmentInfoBuilder_ != null) {
return fulfillmentInfoBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(fulfillmentInfo_);
}
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder addFulfillmentInfoBuilder() {
return getFulfillmentInfoFieldBuilder()
.addBuilder(com.google.cloud.retail.v2alpha.FulfillmentInfo.getDefaultInstance());
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder addFulfillmentInfoBuilder(
int index) {
return getFulfillmentInfoFieldBuilder()
.addBuilder(index, com.google.cloud.retail.v2alpha.FulfillmentInfo.getDefaultInstance());
}
/**
*
*
*
* Fulfillment information, such as the store IDs for in-store pickup or
* region IDs for different shipping methods.
*
* All the elements must have distinct
* [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
* Otherwise, an INVALID_ARGUMENT error is returned.
*
*
* repeated .google.cloud.retail.v2alpha.FulfillmentInfo fulfillment_info = 21;
*/
public java.util.List
getFulfillmentInfoBuilderList() {
return getFulfillmentInfoFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.FulfillmentInfo,
com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder,
com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder>
getFulfillmentInfoFieldBuilder() {
if (fulfillmentInfoBuilder_ == null) {
fulfillmentInfoBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.FulfillmentInfo,
com.google.cloud.retail.v2alpha.FulfillmentInfo.Builder,
com.google.cloud.retail.v2alpha.FulfillmentInfoOrBuilder>(
fulfillmentInfo_,
((bitField0_ & 0x00100000) != 0),
getParentForChildren(),
isClean());
fulfillmentInfo_ = null;
}
return fulfillmentInfoBuilder_;
}
private java.lang.Object uri_ = "";
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @return The uri.
*/
public java.lang.String getUri() {
java.lang.Object ref = uri_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
uri_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @return The bytes for uri.
*/
public com.google.protobuf.ByteString getUriBytes() {
java.lang.Object ref = uri_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
uri_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @param value The uri to set.
* @return This builder for chaining.
*/
public Builder setUri(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
uri_ = value;
bitField0_ |= 0x00200000;
onChanged();
return this;
}
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @return This builder for chaining.
*/
public Builder clearUri() {
uri_ = getDefaultInstance().getUri();
bitField0_ = (bitField0_ & ~0x00200000);
onChanged();
return this;
}
/**
*
*
*
* Canonical URL directly linking to the product detail page.
*
* It is strongly recommended to provide a valid uri for the product,
* otherwise the service performance could be significantly degraded.
*
* This field must be a UTF-8 encoded string with a length limit of 5,000
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [link](https://support.google.com/merchants/answer/6324416). Schema.org
* property [Offer.url](https://schema.org/url).
*
*
* string uri = 22;
*
* @param value The bytes for uri to set.
* @return This builder for chaining.
*/
public Builder setUriBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
uri_ = value;
bitField0_ |= 0x00200000;
onChanged();
return this;
}
private java.util.List images_ =
java.util.Collections.emptyList();
private void ensureImagesIsMutable() {
if (!((bitField0_ & 0x00400000) != 0)) {
images_ = new java.util.ArrayList(images_);
bitField0_ |= 0x00400000;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Image,
com.google.cloud.retail.v2alpha.Image.Builder,
com.google.cloud.retail.v2alpha.ImageOrBuilder>
imagesBuilder_;
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public java.util.List getImagesList() {
if (imagesBuilder_ == null) {
return java.util.Collections.unmodifiableList(images_);
} else {
return imagesBuilder_.getMessageList();
}
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public int getImagesCount() {
if (imagesBuilder_ == null) {
return images_.size();
} else {
return imagesBuilder_.getCount();
}
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public com.google.cloud.retail.v2alpha.Image getImages(int index) {
if (imagesBuilder_ == null) {
return images_.get(index);
} else {
return imagesBuilder_.getMessage(index);
}
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder setImages(int index, com.google.cloud.retail.v2alpha.Image value) {
if (imagesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureImagesIsMutable();
images_.set(index, value);
onChanged();
} else {
imagesBuilder_.setMessage(index, value);
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder setImages(
int index, com.google.cloud.retail.v2alpha.Image.Builder builderForValue) {
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
images_.set(index, builderForValue.build());
onChanged();
} else {
imagesBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder addImages(com.google.cloud.retail.v2alpha.Image value) {
if (imagesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureImagesIsMutable();
images_.add(value);
onChanged();
} else {
imagesBuilder_.addMessage(value);
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder addImages(int index, com.google.cloud.retail.v2alpha.Image value) {
if (imagesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureImagesIsMutable();
images_.add(index, value);
onChanged();
} else {
imagesBuilder_.addMessage(index, value);
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder addImages(com.google.cloud.retail.v2alpha.Image.Builder builderForValue) {
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
images_.add(builderForValue.build());
onChanged();
} else {
imagesBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder addImages(
int index, com.google.cloud.retail.v2alpha.Image.Builder builderForValue) {
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
images_.add(index, builderForValue.build());
onChanged();
} else {
imagesBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder addAllImages(
java.lang.Iterable extends com.google.cloud.retail.v2alpha.Image> values) {
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, images_);
onChanged();
} else {
imagesBuilder_.addAllMessages(values);
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder clearImages() {
if (imagesBuilder_ == null) {
images_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00400000);
onChanged();
} else {
imagesBuilder_.clear();
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public Builder removeImages(int index) {
if (imagesBuilder_ == null) {
ensureImagesIsMutable();
images_.remove(index);
onChanged();
} else {
imagesBuilder_.remove(index);
}
return this;
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public com.google.cloud.retail.v2alpha.Image.Builder getImagesBuilder(int index) {
return getImagesFieldBuilder().getBuilder(index);
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public com.google.cloud.retail.v2alpha.ImageOrBuilder getImagesOrBuilder(int index) {
if (imagesBuilder_ == null) {
return images_.get(index);
} else {
return imagesBuilder_.getMessageOrBuilder(index);
}
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public java.util.List extends com.google.cloud.retail.v2alpha.ImageOrBuilder>
getImagesOrBuilderList() {
if (imagesBuilder_ != null) {
return imagesBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(images_);
}
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public com.google.cloud.retail.v2alpha.Image.Builder addImagesBuilder() {
return getImagesFieldBuilder()
.addBuilder(com.google.cloud.retail.v2alpha.Image.getDefaultInstance());
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public com.google.cloud.retail.v2alpha.Image.Builder addImagesBuilder(int index) {
return getImagesFieldBuilder()
.addBuilder(index, com.google.cloud.retail.v2alpha.Image.getDefaultInstance());
}
/**
*
*
*
* Product images for the product. We highly recommend putting the main
* image first.
*
* A maximum of 300 images are allowed.
*
* Corresponding properties: Google Merchant Center property
* [image_link](https://support.google.com/merchants/answer/6324350).
* Schema.org property [Product.image](https://schema.org/image).
*
*
* repeated .google.cloud.retail.v2alpha.Image images = 23;
*/
public java.util.List getImagesBuilderList() {
return getImagesFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Image,
com.google.cloud.retail.v2alpha.Image.Builder,
com.google.cloud.retail.v2alpha.ImageOrBuilder>
getImagesFieldBuilder() {
if (imagesBuilder_ == null) {
imagesBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Image,
com.google.cloud.retail.v2alpha.Image.Builder,
com.google.cloud.retail.v2alpha.ImageOrBuilder>(
images_, ((bitField0_ & 0x00400000) != 0), getParentForChildren(), isClean());
images_ = null;
}
return imagesBuilder_;
}
private com.google.cloud.retail.v2alpha.Audience audience_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Audience,
com.google.cloud.retail.v2alpha.Audience.Builder,
com.google.cloud.retail.v2alpha.AudienceOrBuilder>
audienceBuilder_;
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*
* @return Whether the audience field is set.
*/
public boolean hasAudience() {
return ((bitField0_ & 0x00800000) != 0);
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*
* @return The audience.
*/
public com.google.cloud.retail.v2alpha.Audience getAudience() {
if (audienceBuilder_ == null) {
return audience_ == null
? com.google.cloud.retail.v2alpha.Audience.getDefaultInstance()
: audience_;
} else {
return audienceBuilder_.getMessage();
}
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public Builder setAudience(com.google.cloud.retail.v2alpha.Audience value) {
if (audienceBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
audience_ = value;
} else {
audienceBuilder_.setMessage(value);
}
bitField0_ |= 0x00800000;
onChanged();
return this;
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public Builder setAudience(com.google.cloud.retail.v2alpha.Audience.Builder builderForValue) {
if (audienceBuilder_ == null) {
audience_ = builderForValue.build();
} else {
audienceBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x00800000;
onChanged();
return this;
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public Builder mergeAudience(com.google.cloud.retail.v2alpha.Audience value) {
if (audienceBuilder_ == null) {
if (((bitField0_ & 0x00800000) != 0)
&& audience_ != null
&& audience_ != com.google.cloud.retail.v2alpha.Audience.getDefaultInstance()) {
getAudienceBuilder().mergeFrom(value);
} else {
audience_ = value;
}
} else {
audienceBuilder_.mergeFrom(value);
}
if (audience_ != null) {
bitField0_ |= 0x00800000;
onChanged();
}
return this;
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public Builder clearAudience() {
bitField0_ = (bitField0_ & ~0x00800000);
audience_ = null;
if (audienceBuilder_ != null) {
audienceBuilder_.dispose();
audienceBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public com.google.cloud.retail.v2alpha.Audience.Builder getAudienceBuilder() {
bitField0_ |= 0x00800000;
onChanged();
return getAudienceFieldBuilder().getBuilder();
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
public com.google.cloud.retail.v2alpha.AudienceOrBuilder getAudienceOrBuilder() {
if (audienceBuilder_ != null) {
return audienceBuilder_.getMessageOrBuilder();
} else {
return audience_ == null
? com.google.cloud.retail.v2alpha.Audience.getDefaultInstance()
: audience_;
}
}
/**
*
*
*
* The target group associated with a given audience (e.g. male, veterans,
* car owners, musicians, etc.) of the product.
*
*
* .google.cloud.retail.v2alpha.Audience audience = 24;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Audience,
com.google.cloud.retail.v2alpha.Audience.Builder,
com.google.cloud.retail.v2alpha.AudienceOrBuilder>
getAudienceFieldBuilder() {
if (audienceBuilder_ == null) {
audienceBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.Audience,
com.google.cloud.retail.v2alpha.Audience.Builder,
com.google.cloud.retail.v2alpha.AudienceOrBuilder>(
getAudience(), getParentForChildren(), isClean());
audience_ = null;
}
return audienceBuilder_;
}
private com.google.cloud.retail.v2alpha.ColorInfo colorInfo_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.ColorInfo,
com.google.cloud.retail.v2alpha.ColorInfo.Builder,
com.google.cloud.retail.v2alpha.ColorInfoOrBuilder>
colorInfoBuilder_;
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*
* @return Whether the colorInfo field is set.
*/
public boolean hasColorInfo() {
return ((bitField0_ & 0x01000000) != 0);
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*
* @return The colorInfo.
*/
public com.google.cloud.retail.v2alpha.ColorInfo getColorInfo() {
if (colorInfoBuilder_ == null) {
return colorInfo_ == null
? com.google.cloud.retail.v2alpha.ColorInfo.getDefaultInstance()
: colorInfo_;
} else {
return colorInfoBuilder_.getMessage();
}
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public Builder setColorInfo(com.google.cloud.retail.v2alpha.ColorInfo value) {
if (colorInfoBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
colorInfo_ = value;
} else {
colorInfoBuilder_.setMessage(value);
}
bitField0_ |= 0x01000000;
onChanged();
return this;
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public Builder setColorInfo(com.google.cloud.retail.v2alpha.ColorInfo.Builder builderForValue) {
if (colorInfoBuilder_ == null) {
colorInfo_ = builderForValue.build();
} else {
colorInfoBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x01000000;
onChanged();
return this;
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public Builder mergeColorInfo(com.google.cloud.retail.v2alpha.ColorInfo value) {
if (colorInfoBuilder_ == null) {
if (((bitField0_ & 0x01000000) != 0)
&& colorInfo_ != null
&& colorInfo_ != com.google.cloud.retail.v2alpha.ColorInfo.getDefaultInstance()) {
getColorInfoBuilder().mergeFrom(value);
} else {
colorInfo_ = value;
}
} else {
colorInfoBuilder_.mergeFrom(value);
}
if (colorInfo_ != null) {
bitField0_ |= 0x01000000;
onChanged();
}
return this;
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public Builder clearColorInfo() {
bitField0_ = (bitField0_ & ~0x01000000);
colorInfo_ = null;
if (colorInfoBuilder_ != null) {
colorInfoBuilder_.dispose();
colorInfoBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public com.google.cloud.retail.v2alpha.ColorInfo.Builder getColorInfoBuilder() {
bitField0_ |= 0x01000000;
onChanged();
return getColorInfoFieldBuilder().getBuilder();
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
public com.google.cloud.retail.v2alpha.ColorInfoOrBuilder getColorInfoOrBuilder() {
if (colorInfoBuilder_ != null) {
return colorInfoBuilder_.getMessageOrBuilder();
} else {
return colorInfo_ == null
? com.google.cloud.retail.v2alpha.ColorInfo.getDefaultInstance()
: colorInfo_;
}
}
/**
*
*
*
* The color of the product.
*
* Corresponding properties: Google Merchant Center property
* [color](https://support.google.com/merchants/answer/6324487). Schema.org
* property [Product.color](https://schema.org/color).
*
*
* .google.cloud.retail.v2alpha.ColorInfo color_info = 25;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.ColorInfo,
com.google.cloud.retail.v2alpha.ColorInfo.Builder,
com.google.cloud.retail.v2alpha.ColorInfoOrBuilder>
getColorInfoFieldBuilder() {
if (colorInfoBuilder_ == null) {
colorInfoBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.cloud.retail.v2alpha.ColorInfo,
com.google.cloud.retail.v2alpha.ColorInfo.Builder,
com.google.cloud.retail.v2alpha.ColorInfoOrBuilder>(
getColorInfo(), getParentForChildren(), isClean());
colorInfo_ = null;
}
return colorInfoBuilder_;
}
private com.google.protobuf.LazyStringArrayList sizes_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureSizesIsMutable() {
if (!sizes_.isModifiable()) {
sizes_ = new com.google.protobuf.LazyStringArrayList(sizes_);
}
bitField0_ |= 0x02000000;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @return A list containing the sizes.
*/
public com.google.protobuf.ProtocolStringList getSizesList() {
sizes_.makeImmutable();
return sizes_;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @return The count of sizes.
*/
public int getSizesCount() {
return sizes_.size();
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param index The index of the element to return.
* @return The sizes at the given index.
*/
public java.lang.String getSizes(int index) {
return sizes_.get(index);
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param index The index of the value to return.
* @return The bytes of the sizes at the given index.
*/
public com.google.protobuf.ByteString getSizesBytes(int index) {
return sizes_.getByteString(index);
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param index The index to set the value at.
* @param value The sizes to set.
* @return This builder for chaining.
*/
public Builder setSizes(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureSizesIsMutable();
sizes_.set(index, value);
bitField0_ |= 0x02000000;
onChanged();
return this;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param value The sizes to add.
* @return This builder for chaining.
*/
public Builder addSizes(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureSizesIsMutable();
sizes_.add(value);
bitField0_ |= 0x02000000;
onChanged();
return this;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param values The sizes to add.
* @return This builder for chaining.
*/
public Builder addAllSizes(java.lang.Iterable values) {
ensureSizesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sizes_);
bitField0_ |= 0x02000000;
onChanged();
return this;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @return This builder for chaining.
*/
public Builder clearSizes() {
sizes_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x02000000);
;
onChanged();
return this;
}
/**
*
*
*
* The size of the product. To represent different size systems or size types,
* consider using this format: [[[size_system:]size_type:]size_value].
*
* For example, in "US:MENS:M", "US" represents size system; "MENS" represents
* size type; "M" represents size value. In "GIRLS:27", size system is empty;
* "GIRLS" represents size type; "27" represents size value. In "32 inches",
* both size system and size type are empty, while size value is "32 inches".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [size](https://support.google.com/merchants/answer/6324492),
* [size_type](https://support.google.com/merchants/answer/6324497), and
* [size_system](https://support.google.com/merchants/answer/6324502).
* Schema.org property [Product.size](https://schema.org/size).
*
*
* repeated string sizes = 26;
*
* @param value The bytes of the sizes to add.
* @return This builder for chaining.
*/
public Builder addSizesBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureSizesIsMutable();
sizes_.add(value);
bitField0_ |= 0x02000000;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList materials_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureMaterialsIsMutable() {
if (!materials_.isModifiable()) {
materials_ = new com.google.protobuf.LazyStringArrayList(materials_);
}
bitField0_ |= 0x04000000;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @return A list containing the materials.
*/
public com.google.protobuf.ProtocolStringList getMaterialsList() {
materials_.makeImmutable();
return materials_;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @return The count of materials.
*/
public int getMaterialsCount() {
return materials_.size();
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param index The index of the element to return.
* @return The materials at the given index.
*/
public java.lang.String getMaterials(int index) {
return materials_.get(index);
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param index The index of the value to return.
* @return The bytes of the materials at the given index.
*/
public com.google.protobuf.ByteString getMaterialsBytes(int index) {
return materials_.getByteString(index);
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param index The index to set the value at.
* @param value The materials to set.
* @return This builder for chaining.
*/
public Builder setMaterials(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureMaterialsIsMutable();
materials_.set(index, value);
bitField0_ |= 0x04000000;
onChanged();
return this;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param value The materials to add.
* @return This builder for chaining.
*/
public Builder addMaterials(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureMaterialsIsMutable();
materials_.add(value);
bitField0_ |= 0x04000000;
onChanged();
return this;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param values The materials to add.
* @return This builder for chaining.
*/
public Builder addAllMaterials(java.lang.Iterable values) {
ensureMaterialsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, materials_);
bitField0_ |= 0x04000000;
onChanged();
return this;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @return This builder for chaining.
*/
public Builder clearMaterials() {
materials_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x04000000);
;
onChanged();
return this;
}
/**
*
*
*
* The material of the product. For example, "leather", "wooden".
*
* A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
* string with a length limit of 200 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [material](https://support.google.com/merchants/answer/6324410). Schema.org
* property [Product.material](https://schema.org/material).
*
*
* repeated string materials = 27;
*
* @param value The bytes of the materials to add.
* @return This builder for chaining.
*/
public Builder addMaterialsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureMaterialsIsMutable();
materials_.add(value);
bitField0_ |= 0x04000000;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList patterns_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensurePatternsIsMutable() {
if (!patterns_.isModifiable()) {
patterns_ = new com.google.protobuf.LazyStringArrayList(patterns_);
}
bitField0_ |= 0x08000000;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @return A list containing the patterns.
*/
public com.google.protobuf.ProtocolStringList getPatternsList() {
patterns_.makeImmutable();
return patterns_;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @return The count of patterns.
*/
public int getPatternsCount() {
return patterns_.size();
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param index The index of the element to return.
* @return The patterns at the given index.
*/
public java.lang.String getPatterns(int index) {
return patterns_.get(index);
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param index The index of the value to return.
* @return The bytes of the patterns at the given index.
*/
public com.google.protobuf.ByteString getPatternsBytes(int index) {
return patterns_.getByteString(index);
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param index The index to set the value at.
* @param value The patterns to set.
* @return This builder for chaining.
*/
public Builder setPatterns(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensurePatternsIsMutable();
patterns_.set(index, value);
bitField0_ |= 0x08000000;
onChanged();
return this;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param value The patterns to add.
* @return This builder for chaining.
*/
public Builder addPatterns(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensurePatternsIsMutable();
patterns_.add(value);
bitField0_ |= 0x08000000;
onChanged();
return this;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param values The patterns to add.
* @return This builder for chaining.
*/
public Builder addAllPatterns(java.lang.Iterable values) {
ensurePatternsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, patterns_);
bitField0_ |= 0x08000000;
onChanged();
return this;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @return This builder for chaining.
*/
public Builder clearPatterns() {
patterns_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x08000000);
;
onChanged();
return this;
}
/**
*
*
*
* The pattern or graphic print of the product. For example, "striped", "polka
* dot", "paisley".
*
* A maximum of 20 values are allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
* property [Product.pattern](https://schema.org/pattern).
*
*
* repeated string patterns = 28;
*
* @param value The bytes of the patterns to add.
* @return This builder for chaining.
*/
public Builder addPatternsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensurePatternsIsMutable();
patterns_.add(value);
bitField0_ |= 0x08000000;
onChanged();
return this;
}
private com.google.protobuf.LazyStringArrayList conditions_ =
com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureConditionsIsMutable() {
if (!conditions_.isModifiable()) {
conditions_ = new com.google.protobuf.LazyStringArrayList(conditions_);
}
bitField0_ |= 0x10000000;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @return A list containing the conditions.
*/
public com.google.protobuf.ProtocolStringList getConditionsList() {
conditions_.makeImmutable();
return conditions_;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @return The count of conditions.
*/
public int getConditionsCount() {
return conditions_.size();
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param index The index of the element to return.
* @return The conditions at the given index.
*/
public java.lang.String getConditions(int index) {
return conditions_.get(index);
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param index The index of the value to return.
* @return The bytes of the conditions at the given index.
*/
public com.google.protobuf.ByteString getConditionsBytes(int index) {
return conditions_.getByteString(index);
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param index The index to set the value at.
* @param value The conditions to set.
* @return This builder for chaining.
*/
public Builder setConditions(int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureConditionsIsMutable();
conditions_.set(index, value);
bitField0_ |= 0x10000000;
onChanged();
return this;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param value The conditions to add.
* @return This builder for chaining.
*/
public Builder addConditions(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureConditionsIsMutable();
conditions_.add(value);
bitField0_ |= 0x10000000;
onChanged();
return this;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param values The conditions to add.
* @return This builder for chaining.
*/
public Builder addAllConditions(java.lang.Iterable values) {
ensureConditionsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, conditions_);
bitField0_ |= 0x10000000;
onChanged();
return this;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @return This builder for chaining.
*/
public Builder clearConditions() {
conditions_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x10000000);
;
onChanged();
return this;
}
/**
*
*
*
* The condition of the product. Strongly encouraged to use the standard
* values: "new", "refurbished", "used".
*
* A maximum of 1 value is allowed per
* [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
* encoded string with a length limit of 128 characters. Otherwise, an
* INVALID_ARGUMENT error is returned.
*
* Corresponding properties: Google Merchant Center property
* [condition](https://support.google.com/merchants/answer/6324469).
* Schema.org property
* [Offer.itemCondition](https://schema.org/itemCondition).
*
*
* repeated string conditions = 29;
*
* @param value The bytes of the conditions to add.
* @return This builder for chaining.
*/
public Builder addConditionsBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureConditionsIsMutable();
conditions_.add(value);
bitField0_ |= 0x10000000;
onChanged();
return this;
}
private java.util.List promotions_ =
java.util.Collections.emptyList();
private void ensurePromotionsIsMutable() {
if (!((bitField0_ & 0x20000000) != 0)) {
promotions_ =
new java.util.ArrayList(promotions_);
bitField0_ |= 0x20000000;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Promotion,
com.google.cloud.retail.v2alpha.Promotion.Builder,
com.google.cloud.retail.v2alpha.PromotionOrBuilder>
promotionsBuilder_;
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public java.util.List getPromotionsList() {
if (promotionsBuilder_ == null) {
return java.util.Collections.unmodifiableList(promotions_);
} else {
return promotionsBuilder_.getMessageList();
}
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public int getPromotionsCount() {
if (promotionsBuilder_ == null) {
return promotions_.size();
} else {
return promotionsBuilder_.getCount();
}
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public com.google.cloud.retail.v2alpha.Promotion getPromotions(int index) {
if (promotionsBuilder_ == null) {
return promotions_.get(index);
} else {
return promotionsBuilder_.getMessage(index);
}
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder setPromotions(int index, com.google.cloud.retail.v2alpha.Promotion value) {
if (promotionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensurePromotionsIsMutable();
promotions_.set(index, value);
onChanged();
} else {
promotionsBuilder_.setMessage(index, value);
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder setPromotions(
int index, com.google.cloud.retail.v2alpha.Promotion.Builder builderForValue) {
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
promotions_.set(index, builderForValue.build());
onChanged();
} else {
promotionsBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder addPromotions(com.google.cloud.retail.v2alpha.Promotion value) {
if (promotionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensurePromotionsIsMutable();
promotions_.add(value);
onChanged();
} else {
promotionsBuilder_.addMessage(value);
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder addPromotions(int index, com.google.cloud.retail.v2alpha.Promotion value) {
if (promotionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensurePromotionsIsMutable();
promotions_.add(index, value);
onChanged();
} else {
promotionsBuilder_.addMessage(index, value);
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder addPromotions(
com.google.cloud.retail.v2alpha.Promotion.Builder builderForValue) {
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
promotions_.add(builderForValue.build());
onChanged();
} else {
promotionsBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder addPromotions(
int index, com.google.cloud.retail.v2alpha.Promotion.Builder builderForValue) {
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
promotions_.add(index, builderForValue.build());
onChanged();
} else {
promotionsBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder addAllPromotions(
java.lang.Iterable extends com.google.cloud.retail.v2alpha.Promotion> values) {
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, promotions_);
onChanged();
} else {
promotionsBuilder_.addAllMessages(values);
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder clearPromotions() {
if (promotionsBuilder_ == null) {
promotions_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x20000000);
onChanged();
} else {
promotionsBuilder_.clear();
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public Builder removePromotions(int index) {
if (promotionsBuilder_ == null) {
ensurePromotionsIsMutable();
promotions_.remove(index);
onChanged();
} else {
promotionsBuilder_.remove(index);
}
return this;
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public com.google.cloud.retail.v2alpha.Promotion.Builder getPromotionsBuilder(int index) {
return getPromotionsFieldBuilder().getBuilder(index);
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public com.google.cloud.retail.v2alpha.PromotionOrBuilder getPromotionsOrBuilder(int index) {
if (promotionsBuilder_ == null) {
return promotions_.get(index);
} else {
return promotionsBuilder_.getMessageOrBuilder(index);
}
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public java.util.List extends com.google.cloud.retail.v2alpha.PromotionOrBuilder>
getPromotionsOrBuilderList() {
if (promotionsBuilder_ != null) {
return promotionsBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(promotions_);
}
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public com.google.cloud.retail.v2alpha.Promotion.Builder addPromotionsBuilder() {
return getPromotionsFieldBuilder()
.addBuilder(com.google.cloud.retail.v2alpha.Promotion.getDefaultInstance());
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public com.google.cloud.retail.v2alpha.Promotion.Builder addPromotionsBuilder(int index) {
return getPromotionsFieldBuilder()
.addBuilder(index, com.google.cloud.retail.v2alpha.Promotion.getDefaultInstance());
}
/**
*
*
*
* The promotions applied to the product. A maximum of 10 values are allowed
* per [Product][google.cloud.retail.v2alpha.Product]. Only
* [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
* will be used, other fields will be ignored if set.
*
*
* repeated .google.cloud.retail.v2alpha.Promotion promotions = 34;
*/
public java.util.List
getPromotionsBuilderList() {
return getPromotionsFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Promotion,
com.google.cloud.retail.v2alpha.Promotion.Builder,
com.google.cloud.retail.v2alpha.PromotionOrBuilder>
getPromotionsFieldBuilder() {
if (promotionsBuilder_ == null) {
promotionsBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Promotion,
com.google.cloud.retail.v2alpha.Promotion.Builder,
com.google.cloud.retail.v2alpha.PromotionOrBuilder>(
promotions_, ((bitField0_ & 0x20000000) != 0), getParentForChildren(), isClean());
promotions_ = null;
}
return promotionsBuilder_;
}
private com.google.protobuf.Timestamp publishTime_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
publishTimeBuilder_;
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*
* @return Whether the publishTime field is set.
*/
public boolean hasPublishTime() {
return ((bitField0_ & 0x40000000) != 0);
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*
* @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();
}
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public Builder setPublishTime(com.google.protobuf.Timestamp value) {
if (publishTimeBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
publishTime_ = value;
} else {
publishTimeBuilder_.setMessage(value);
}
bitField0_ |= 0x40000000;
onChanged();
return this;
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public Builder setPublishTime(com.google.protobuf.Timestamp.Builder builderForValue) {
if (publishTimeBuilder_ == null) {
publishTime_ = builderForValue.build();
} else {
publishTimeBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x40000000;
onChanged();
return this;
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public Builder mergePublishTime(com.google.protobuf.Timestamp value) {
if (publishTimeBuilder_ == null) {
if (((bitField0_ & 0x40000000) != 0)
&& publishTime_ != null
&& publishTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
getPublishTimeBuilder().mergeFrom(value);
} else {
publishTime_ = value;
}
} else {
publishTimeBuilder_.mergeFrom(value);
}
if (publishTime_ != null) {
bitField0_ |= 0x40000000;
onChanged();
}
return this;
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public Builder clearPublishTime() {
bitField0_ = (bitField0_ & ~0x40000000);
publishTime_ = null;
if (publishTimeBuilder_ != null) {
publishTimeBuilder_.dispose();
publishTimeBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public com.google.protobuf.Timestamp.Builder getPublishTimeBuilder() {
bitField0_ |= 0x40000000;
onChanged();
return getPublishTimeFieldBuilder().getBuilder();
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
public com.google.protobuf.TimestampOrBuilder getPublishTimeOrBuilder() {
if (publishTimeBuilder_ != null) {
return publishTimeBuilder_.getMessageOrBuilder();
} else {
return publishTime_ == null
? com.google.protobuf.Timestamp.getDefaultInstance()
: publishTime_;
}
}
/**
*
*
*
* The timestamp when the product is published by the retailer for the first
* time, which indicates the freshness of the products. Note that this field
* is different from
* [available_time][google.cloud.retail.v2alpha.Product.available_time], given
* it purely describes product freshness regardless of when it is available on
* search and recommendation.
*
*
* .google.protobuf.Timestamp publish_time = 33;
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>
getPublishTimeFieldBuilder() {
if (publishTimeBuilder_ == null) {
publishTimeBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.Timestamp,
com.google.protobuf.Timestamp.Builder,
com.google.protobuf.TimestampOrBuilder>(
getPublishTime(), getParentForChildren(), isClean());
publishTime_ = null;
}
return publishTimeBuilder_;
}
private com.google.protobuf.FieldMask retrievableFields_;
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.FieldMask,
com.google.protobuf.FieldMask.Builder,
com.google.protobuf.FieldMaskOrBuilder>
retrievableFieldsBuilder_;
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*
* @deprecated google.cloud.retail.v2alpha.Product.retrievable_fields is deprecated. See
* google/cloud/retail/v2alpha/product.proto;l=574
* @return Whether the retrievableFields field is set.
*/
@java.lang.Deprecated
public boolean hasRetrievableFields() {
return ((bitField0_ & 0x80000000) != 0);
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*
* @deprecated google.cloud.retail.v2alpha.Product.retrievable_fields is deprecated. See
* google/cloud/retail/v2alpha/product.proto;l=574
* @return The retrievableFields.
*/
@java.lang.Deprecated
public com.google.protobuf.FieldMask getRetrievableFields() {
if (retrievableFieldsBuilder_ == null) {
return retrievableFields_ == null
? com.google.protobuf.FieldMask.getDefaultInstance()
: retrievableFields_;
} else {
return retrievableFieldsBuilder_.getMessage();
}
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public Builder setRetrievableFields(com.google.protobuf.FieldMask value) {
if (retrievableFieldsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
retrievableFields_ = value;
} else {
retrievableFieldsBuilder_.setMessage(value);
}
bitField0_ |= 0x80000000;
onChanged();
return this;
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public Builder setRetrievableFields(com.google.protobuf.FieldMask.Builder builderForValue) {
if (retrievableFieldsBuilder_ == null) {
retrievableFields_ = builderForValue.build();
} else {
retrievableFieldsBuilder_.setMessage(builderForValue.build());
}
bitField0_ |= 0x80000000;
onChanged();
return this;
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public Builder mergeRetrievableFields(com.google.protobuf.FieldMask value) {
if (retrievableFieldsBuilder_ == null) {
if (((bitField0_ & 0x80000000) != 0)
&& retrievableFields_ != null
&& retrievableFields_ != com.google.protobuf.FieldMask.getDefaultInstance()) {
getRetrievableFieldsBuilder().mergeFrom(value);
} else {
retrievableFields_ = value;
}
} else {
retrievableFieldsBuilder_.mergeFrom(value);
}
if (retrievableFields_ != null) {
bitField0_ |= 0x80000000;
onChanged();
}
return this;
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public Builder clearRetrievableFields() {
bitField0_ = (bitField0_ & ~0x80000000);
retrievableFields_ = null;
if (retrievableFieldsBuilder_ != null) {
retrievableFieldsBuilder_.dispose();
retrievableFieldsBuilder_ = null;
}
onChanged();
return this;
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public com.google.protobuf.FieldMask.Builder getRetrievableFieldsBuilder() {
bitField0_ |= 0x80000000;
onChanged();
return getRetrievableFieldsFieldBuilder().getBuilder();
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
@java.lang.Deprecated
public com.google.protobuf.FieldMaskOrBuilder getRetrievableFieldsOrBuilder() {
if (retrievableFieldsBuilder_ != null) {
return retrievableFieldsBuilder_.getMessageOrBuilder();
} else {
return retrievableFields_ == null
? com.google.protobuf.FieldMask.getDefaultInstance()
: retrievableFields_;
}
}
/**
*
*
*
* Indicates which fields in the
* [Product][google.cloud.retail.v2alpha.Product]s are returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
*
* Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
*
* * [audience][google.cloud.retail.v2alpha.Product.audience]
* * [availability][google.cloud.retail.v2alpha.Product.availability]
* * [brands][google.cloud.retail.v2alpha.Product.brands]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
* * [conditions][google.cloud.retail.v2alpha.Product.conditions]
* * [gtin][google.cloud.retail.v2alpha.Product.gtin]
* * [materials][google.cloud.retail.v2alpha.Product.materials]
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [patterns][google.cloud.retail.v2alpha.Product.patterns]
* * [price_info][google.cloud.retail.v2alpha.Product.price_info]
* * [rating][google.cloud.retail.v2alpha.Product.rating]
* * [sizes][google.cloud.retail.v2alpha.Product.sizes]
* * [title][google.cloud.retail.v2alpha.Product.title]
* * [uri][google.cloud.retail.v2alpha.Product.uri]
*
* Supported fields only for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
*
* * [categories][google.cloud.retail.v2alpha.Product.categories]
* * [description][google.cloud.retail.v2alpha.Product.description]
* * [images][google.cloud.retail.v2alpha.Product.images]
*
* Supported fields only for
* [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
*
* * Only the first image in
* [images][google.cloud.retail.v2alpha.Product.images]
*
* To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
* retrievable, include paths of the form "attributes.key" where "key" is the
* key of a custom attribute, as specified in
* [attributes][google.cloud.retail.v2alpha.Product.attributes].
*
* For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
* [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
* following fields are always returned in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
*
* For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
* following fields are always returned in by default:
*
* * [name][google.cloud.retail.v2alpha.Product.name]
* * [color_info][google.cloud.retail.v2alpha.Product.color_info]
*
* The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
* returned.
*
* Note: Returning more fields in
* [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
* response payload size and serving latency.
*
* This field is deprecated. Use the retrievable site-wide control instead.
*
*
* .google.protobuf.FieldMask retrievable_fields = 30 [deprecated = true];
*/
private com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.FieldMask,
com.google.protobuf.FieldMask.Builder,
com.google.protobuf.FieldMaskOrBuilder>
getRetrievableFieldsFieldBuilder() {
if (retrievableFieldsBuilder_ == null) {
retrievableFieldsBuilder_ =
new com.google.protobuf.SingleFieldBuilderV3<
com.google.protobuf.FieldMask,
com.google.protobuf.FieldMask.Builder,
com.google.protobuf.FieldMaskOrBuilder>(
getRetrievableFields(), getParentForChildren(), isClean());
retrievableFields_ = null;
}
return retrievableFieldsBuilder_;
}
private java.util.List variants_ =
java.util.Collections.emptyList();
private void ensureVariantsIsMutable() {
if (!((bitField1_ & 0x00000001) != 0)) {
variants_ = new java.util.ArrayList(variants_);
bitField1_ |= 0x00000001;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Product,
com.google.cloud.retail.v2alpha.Product.Builder,
com.google.cloud.retail.v2alpha.ProductOrBuilder>
variantsBuilder_;
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List getVariantsList() {
if (variantsBuilder_ == null) {
return java.util.Collections.unmodifiableList(variants_);
} else {
return variantsBuilder_.getMessageList();
}
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public int getVariantsCount() {
if (variantsBuilder_ == null) {
return variants_.size();
} else {
return variantsBuilder_.getCount();
}
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.Product getVariants(int index) {
if (variantsBuilder_ == null) {
return variants_.get(index);
} else {
return variantsBuilder_.getMessage(index);
}
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder setVariants(int index, com.google.cloud.retail.v2alpha.Product value) {
if (variantsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureVariantsIsMutable();
variants_.set(index, value);
onChanged();
} else {
variantsBuilder_.setMessage(index, value);
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder setVariants(
int index, com.google.cloud.retail.v2alpha.Product.Builder builderForValue) {
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
variants_.set(index, builderForValue.build());
onChanged();
} else {
variantsBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addVariants(com.google.cloud.retail.v2alpha.Product value) {
if (variantsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureVariantsIsMutable();
variants_.add(value);
onChanged();
} else {
variantsBuilder_.addMessage(value);
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addVariants(int index, com.google.cloud.retail.v2alpha.Product value) {
if (variantsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureVariantsIsMutable();
variants_.add(index, value);
onChanged();
} else {
variantsBuilder_.addMessage(index, value);
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addVariants(com.google.cloud.retail.v2alpha.Product.Builder builderForValue) {
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
variants_.add(builderForValue.build());
onChanged();
} else {
variantsBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addVariants(
int index, com.google.cloud.retail.v2alpha.Product.Builder builderForValue) {
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
variants_.add(index, builderForValue.build());
onChanged();
} else {
variantsBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addAllVariants(
java.lang.Iterable extends com.google.cloud.retail.v2alpha.Product> values) {
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, variants_);
onChanged();
} else {
variantsBuilder_.addAllMessages(values);
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder clearVariants() {
if (variantsBuilder_ == null) {
variants_ = java.util.Collections.emptyList();
bitField1_ = (bitField1_ & ~0x00000001);
onChanged();
} else {
variantsBuilder_.clear();
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder removeVariants(int index) {
if (variantsBuilder_ == null) {
ensureVariantsIsMutable();
variants_.remove(index);
onChanged();
} else {
variantsBuilder_.remove(index);
}
return this;
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.Product.Builder getVariantsBuilder(int index) {
return getVariantsFieldBuilder().getBuilder(index);
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.ProductOrBuilder getVariantsOrBuilder(int index) {
if (variantsBuilder_ == null) {
return variants_.get(index);
} else {
return variantsBuilder_.getMessageOrBuilder(index);
}
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List extends com.google.cloud.retail.v2alpha.ProductOrBuilder>
getVariantsOrBuilderList() {
if (variantsBuilder_ != null) {
return variantsBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(variants_);
}
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.Product.Builder addVariantsBuilder() {
return getVariantsFieldBuilder()
.addBuilder(com.google.cloud.retail.v2alpha.Product.getDefaultInstance());
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.Product.Builder addVariantsBuilder(int index) {
return getVariantsFieldBuilder()
.addBuilder(index, com.google.cloud.retail.v2alpha.Product.getDefaultInstance());
}
/**
*
*
*
* Output only. Product variants grouped together on primary product which
* share similar product attributes. It's automatically grouped by
* [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
* for all the product variants. Only populated for
* [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
* [Product][google.cloud.retail.v2alpha.Product]s.
*
* Note: This field is OUTPUT_ONLY for
* [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
* Do not set this field in API requests.
*
*
*
* repeated .google.cloud.retail.v2alpha.Product variants = 31 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List
getVariantsBuilderList() {
return getVariantsFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Product,
com.google.cloud.retail.v2alpha.Product.Builder,
com.google.cloud.retail.v2alpha.ProductOrBuilder>
getVariantsFieldBuilder() {
if (variantsBuilder_ == null) {
variantsBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.Product,
com.google.cloud.retail.v2alpha.Product.Builder,
com.google.cloud.retail.v2alpha.ProductOrBuilder>(
variants_, ((bitField1_ & 0x00000001) != 0), getParentForChildren(), isClean());
variants_ = null;
}
return variantsBuilder_;
}
private java.util.List localInventories_ =
java.util.Collections.emptyList();
private void ensureLocalInventoriesIsMutable() {
if (!((bitField1_ & 0x00000002) != 0)) {
localInventories_ =
new java.util.ArrayList(
localInventories_);
bitField1_ |= 0x00000002;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.LocalInventory,
com.google.cloud.retail.v2alpha.LocalInventory.Builder,
com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder>
localInventoriesBuilder_;
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List
getLocalInventoriesList() {
if (localInventoriesBuilder_ == null) {
return java.util.Collections.unmodifiableList(localInventories_);
} else {
return localInventoriesBuilder_.getMessageList();
}
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public int getLocalInventoriesCount() {
if (localInventoriesBuilder_ == null) {
return localInventories_.size();
} else {
return localInventoriesBuilder_.getCount();
}
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.LocalInventory getLocalInventories(int index) {
if (localInventoriesBuilder_ == null) {
return localInventories_.get(index);
} else {
return localInventoriesBuilder_.getMessage(index);
}
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder setLocalInventories(
int index, com.google.cloud.retail.v2alpha.LocalInventory value) {
if (localInventoriesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureLocalInventoriesIsMutable();
localInventories_.set(index, value);
onChanged();
} else {
localInventoriesBuilder_.setMessage(index, value);
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder setLocalInventories(
int index, com.google.cloud.retail.v2alpha.LocalInventory.Builder builderForValue) {
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
localInventories_.set(index, builderForValue.build());
onChanged();
} else {
localInventoriesBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addLocalInventories(com.google.cloud.retail.v2alpha.LocalInventory value) {
if (localInventoriesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureLocalInventoriesIsMutable();
localInventories_.add(value);
onChanged();
} else {
localInventoriesBuilder_.addMessage(value);
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addLocalInventories(
int index, com.google.cloud.retail.v2alpha.LocalInventory value) {
if (localInventoriesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureLocalInventoriesIsMutable();
localInventories_.add(index, value);
onChanged();
} else {
localInventoriesBuilder_.addMessage(index, value);
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addLocalInventories(
com.google.cloud.retail.v2alpha.LocalInventory.Builder builderForValue) {
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
localInventories_.add(builderForValue.build());
onChanged();
} else {
localInventoriesBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addLocalInventories(
int index, com.google.cloud.retail.v2alpha.LocalInventory.Builder builderForValue) {
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
localInventories_.add(index, builderForValue.build());
onChanged();
} else {
localInventoriesBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder addAllLocalInventories(
java.lang.Iterable extends com.google.cloud.retail.v2alpha.LocalInventory> values) {
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, localInventories_);
onChanged();
} else {
localInventoriesBuilder_.addAllMessages(values);
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder clearLocalInventories() {
if (localInventoriesBuilder_ == null) {
localInventories_ = java.util.Collections.emptyList();
bitField1_ = (bitField1_ & ~0x00000002);
onChanged();
} else {
localInventoriesBuilder_.clear();
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public Builder removeLocalInventories(int index) {
if (localInventoriesBuilder_ == null) {
ensureLocalInventoriesIsMutable();
localInventories_.remove(index);
onChanged();
} else {
localInventoriesBuilder_.remove(index);
}
return this;
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.LocalInventory.Builder getLocalInventoriesBuilder(
int index) {
return getLocalInventoriesFieldBuilder().getBuilder(index);
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder getLocalInventoriesOrBuilder(
int index) {
if (localInventoriesBuilder_ == null) {
return localInventories_.get(index);
} else {
return localInventoriesBuilder_.getMessageOrBuilder(index);
}
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List extends com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder>
getLocalInventoriesOrBuilderList() {
if (localInventoriesBuilder_ != null) {
return localInventoriesBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(localInventories_);
}
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.LocalInventory.Builder addLocalInventoriesBuilder() {
return getLocalInventoriesFieldBuilder()
.addBuilder(com.google.cloud.retail.v2alpha.LocalInventory.getDefaultInstance());
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public com.google.cloud.retail.v2alpha.LocalInventory.Builder addLocalInventoriesBuilder(
int index) {
return getLocalInventoriesFieldBuilder()
.addBuilder(index, com.google.cloud.retail.v2alpha.LocalInventory.getDefaultInstance());
}
/**
*
*
*
* Output only. A list of local inventories specific to different places.
*
* This field can be managed by
* [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
* and
* [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
* APIs if fine-grained, high-volume updates are necessary.
*
*
*
* repeated .google.cloud.retail.v2alpha.LocalInventory local_inventories = 35 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
public java.util.List
getLocalInventoriesBuilderList() {
return getLocalInventoriesFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.LocalInventory,
com.google.cloud.retail.v2alpha.LocalInventory.Builder,
com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder>
getLocalInventoriesFieldBuilder() {
if (localInventoriesBuilder_ == null) {
localInventoriesBuilder_ =
new com.google.protobuf.RepeatedFieldBuilderV3<
com.google.cloud.retail.v2alpha.LocalInventory,
com.google.cloud.retail.v2alpha.LocalInventory.Builder,
com.google.cloud.retail.v2alpha.LocalInventoryOrBuilder>(
localInventories_,
((bitField1_ & 0x00000002) != 0),
getParentForChildren(),
isClean());
localInventories_ = null;
}
return localInventoriesBuilder_;
}
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:google.cloud.retail.v2alpha.Product)
}
// @@protoc_insertion_point(class_scope:google.cloud.retail.v2alpha.Product)
private static final com.google.cloud.retail.v2alpha.Product DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new com.google.cloud.retail.v2alpha.Product();
}
public static com.google.cloud.retail.v2alpha.Product getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser PARSER =
new com.google.protobuf.AbstractParser() {
@java.lang.Override
public Product 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.retail.v2alpha.Product getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy