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

com.google.shopping.css.v1.Attributes Maven / Gradle / Ivy

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

// Protobuf Java Version: 3.25.5
package com.google.shopping.css.v1;

/**
 *
 *
 * 
 * Attributes for CSS Product.
 * 
* * Protobuf type {@code google.shopping.css.v1.Attributes} */ public final class Attributes extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.shopping.css.v1.Attributes) AttributesOrBuilder { private static final long serialVersionUID = 0L; // Use Attributes.newBuilder() to construct. private Attributes(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Attributes() { cppLink_ = ""; cppMobileLink_ = ""; cppAdsRedirect_ = ""; headlineOfferCondition_ = ""; headlineOfferLink_ = ""; headlineOfferMobileLink_ = ""; title_ = ""; imageLink_ = ""; additionalImageLinks_ = com.google.protobuf.LazyStringArrayList.emptyList(); description_ = ""; brand_ = ""; mpn_ = ""; gtin_ = ""; productTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); googleProductCategory_ = ""; ageGroup_ = ""; color_ = ""; gender_ = ""; material_ = ""; pattern_ = ""; size_ = ""; sizeSystem_ = ""; sizeTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); itemGroupId_ = ""; productDetails_ = java.util.Collections.emptyList(); productHighlights_ = com.google.protobuf.LazyStringArrayList.emptyList(); certifications_ = java.util.Collections.emptyList(); includedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); excludedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); pause_ = ""; customLabel0_ = ""; customLabel1_ = ""; customLabel2_ = ""; customLabel3_ = ""; customLabel4_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new Attributes(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.shopping.css.v1.CssProductCommonProto .internal_static_google_shopping_css_v1_Attributes_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.shopping.css.v1.CssProductCommonProto .internal_static_google_shopping_css_v1_Attributes_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.shopping.css.v1.Attributes.class, com.google.shopping.css.v1.Attributes.Builder.class); } private int bitField0_; private int bitField1_; public static final int CPP_LINK_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object cppLink_ = ""; /** * * *
   * URL directly linking to your the Product Detail Page of the CSS.
   * 
* * optional string cpp_link = 1; * * @return Whether the cppLink field is set. */ @java.lang.Override public boolean hasCppLink() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
   * URL directly linking to your the Product Detail Page of the CSS.
   * 
* * optional string cpp_link = 1; * * @return The cppLink. */ @java.lang.Override public java.lang.String getCppLink() { java.lang.Object ref = cppLink_; 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(); cppLink_ = s; return s; } } /** * * *
   * URL directly linking to your the Product Detail Page of the CSS.
   * 
* * optional string cpp_link = 1; * * @return The bytes for cppLink. */ @java.lang.Override public com.google.protobuf.ByteString getCppLinkBytes() { java.lang.Object ref = cppLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CPP_MOBILE_LINK_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object cppMobileLink_ = ""; /** * * *
   * URL for the mobile-optimized version of the Product Detail Page of the CSS.
   * 
* * optional string cpp_mobile_link = 2; * * @return Whether the cppMobileLink field is set. */ @java.lang.Override public boolean hasCppMobileLink() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
   * URL for the mobile-optimized version of the Product Detail Page of the CSS.
   * 
* * optional string cpp_mobile_link = 2; * * @return The cppMobileLink. */ @java.lang.Override public java.lang.String getCppMobileLink() { java.lang.Object ref = cppMobileLink_; 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(); cppMobileLink_ = s; return s; } } /** * * *
   * URL for the mobile-optimized version of the Product Detail Page of the CSS.
   * 
* * optional string cpp_mobile_link = 2; * * @return The bytes for cppMobileLink. */ @java.lang.Override public com.google.protobuf.ByteString getCppMobileLinkBytes() { java.lang.Object ref = cppMobileLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppMobileLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CPP_ADS_REDIRECT_FIELD_NUMBER = 42; @SuppressWarnings("serial") private volatile java.lang.Object cppAdsRedirect_ = ""; /** * * *
   * Allows advertisers to override the item URL when the product is shown
   * within the context of Product Ads.
   * 
* * optional string cpp_ads_redirect = 42; * * @return Whether the cppAdsRedirect field is set. */ @java.lang.Override public boolean hasCppAdsRedirect() { return ((bitField0_ & 0x00000004) != 0); } /** * * *
   * Allows advertisers to override the item URL when the product is shown
   * within the context of Product Ads.
   * 
* * optional string cpp_ads_redirect = 42; * * @return The cppAdsRedirect. */ @java.lang.Override public java.lang.String getCppAdsRedirect() { java.lang.Object ref = cppAdsRedirect_; 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(); cppAdsRedirect_ = s; return s; } } /** * * *
   * Allows advertisers to override the item URL when the product is shown
   * within the context of Product Ads.
   * 
* * optional string cpp_ads_redirect = 42; * * @return The bytes for cppAdsRedirect. */ @java.lang.Override public com.google.protobuf.ByteString getCppAdsRedirectBytes() { java.lang.Object ref = cppAdsRedirect_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppAdsRedirect_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int LOW_PRICE_FIELD_NUMBER = 3; private com.google.shopping.type.Price lowPrice_; /** * * *
   * Low Price of the aggregate offer.
   * 
* * .google.shopping.type.Price low_price = 3; * * @return Whether the lowPrice field is set. */ @java.lang.Override public boolean hasLowPrice() { return ((bitField0_ & 0x00000008) != 0); } /** * * *
   * Low Price of the aggregate offer.
   * 
* * .google.shopping.type.Price low_price = 3; * * @return The lowPrice. */ @java.lang.Override public com.google.shopping.type.Price getLowPrice() { return lowPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : lowPrice_; } /** * * *
   * Low Price of the aggregate offer.
   * 
* * .google.shopping.type.Price low_price = 3; */ @java.lang.Override public com.google.shopping.type.PriceOrBuilder getLowPriceOrBuilder() { return lowPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : lowPrice_; } public static final int HIGH_PRICE_FIELD_NUMBER = 4; private com.google.shopping.type.Price highPrice_; /** * * *
   * High Price of the aggregate offer.
   * 
* * .google.shopping.type.Price high_price = 4; * * @return Whether the highPrice field is set. */ @java.lang.Override public boolean hasHighPrice() { return ((bitField0_ & 0x00000010) != 0); } /** * * *
   * High Price of the aggregate offer.
   * 
* * .google.shopping.type.Price high_price = 4; * * @return The highPrice. */ @java.lang.Override public com.google.shopping.type.Price getHighPrice() { return highPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : highPrice_; } /** * * *
   * High Price of the aggregate offer.
   * 
* * .google.shopping.type.Price high_price = 4; */ @java.lang.Override public com.google.shopping.type.PriceOrBuilder getHighPriceOrBuilder() { return highPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : highPrice_; } public static final int NUMBER_OF_OFFERS_FIELD_NUMBER = 5; private long numberOfOffers_ = 0L; /** * * *
   * The number of aggregate offers.
   * 
* * optional int64 number_of_offers = 5; * * @return Whether the numberOfOffers field is set. */ @java.lang.Override public boolean hasNumberOfOffers() { return ((bitField0_ & 0x00000020) != 0); } /** * * *
   * The number of aggregate offers.
   * 
* * optional int64 number_of_offers = 5; * * @return The numberOfOffers. */ @java.lang.Override public long getNumberOfOffers() { return numberOfOffers_; } public static final int HEADLINE_OFFER_CONDITION_FIELD_NUMBER = 6; @SuppressWarnings("serial") private volatile java.lang.Object headlineOfferCondition_ = ""; /** * * *
   * Condition of the headline offer.
   * 
* * optional string headline_offer_condition = 6; * * @return Whether the headlineOfferCondition field is set. */ @java.lang.Override public boolean hasHeadlineOfferCondition() { return ((bitField0_ & 0x00000040) != 0); } /** * * *
   * Condition of the headline offer.
   * 
* * optional string headline_offer_condition = 6; * * @return The headlineOfferCondition. */ @java.lang.Override public java.lang.String getHeadlineOfferCondition() { java.lang.Object ref = headlineOfferCondition_; 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(); headlineOfferCondition_ = s; return s; } } /** * * *
   * Condition of the headline offer.
   * 
* * optional string headline_offer_condition = 6; * * @return The bytes for headlineOfferCondition. */ @java.lang.Override public com.google.protobuf.ByteString getHeadlineOfferConditionBytes() { java.lang.Object ref = headlineOfferCondition_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferCondition_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HEADLINE_OFFER_PRICE_FIELD_NUMBER = 7; private com.google.shopping.type.Price headlineOfferPrice_; /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_price = 7; * * @return Whether the headlineOfferPrice field is set. */ @java.lang.Override public boolean hasHeadlineOfferPrice() { return ((bitField0_ & 0x00000080) != 0); } /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_price = 7; * * @return The headlineOfferPrice. */ @java.lang.Override public com.google.shopping.type.Price getHeadlineOfferPrice() { return headlineOfferPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferPrice_; } /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_price = 7; */ @java.lang.Override public com.google.shopping.type.PriceOrBuilder getHeadlineOfferPriceOrBuilder() { return headlineOfferPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferPrice_; } public static final int HEADLINE_OFFER_LINK_FIELD_NUMBER = 8; @SuppressWarnings("serial") private volatile java.lang.Object headlineOfferLink_ = ""; /** * * *
   * Link to the headline offer.
   * 
* * optional string headline_offer_link = 8; * * @return Whether the headlineOfferLink field is set. */ @java.lang.Override public boolean hasHeadlineOfferLink() { return ((bitField0_ & 0x00000100) != 0); } /** * * *
   * Link to the headline offer.
   * 
* * optional string headline_offer_link = 8; * * @return The headlineOfferLink. */ @java.lang.Override public java.lang.String getHeadlineOfferLink() { java.lang.Object ref = headlineOfferLink_; 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(); headlineOfferLink_ = s; return s; } } /** * * *
   * Link to the headline offer.
   * 
* * optional string headline_offer_link = 8; * * @return The bytes for headlineOfferLink. */ @java.lang.Override public com.google.protobuf.ByteString getHeadlineOfferLinkBytes() { java.lang.Object ref = headlineOfferLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HEADLINE_OFFER_MOBILE_LINK_FIELD_NUMBER = 9; @SuppressWarnings("serial") private volatile java.lang.Object headlineOfferMobileLink_ = ""; /** * * *
   * Mobile Link to the headline offer.
   * 
* * optional string headline_offer_mobile_link = 9; * * @return Whether the headlineOfferMobileLink field is set. */ @java.lang.Override public boolean hasHeadlineOfferMobileLink() { return ((bitField0_ & 0x00000200) != 0); } /** * * *
   * Mobile Link to the headline offer.
   * 
* * optional string headline_offer_mobile_link = 9; * * @return The headlineOfferMobileLink. */ @java.lang.Override public java.lang.String getHeadlineOfferMobileLink() { java.lang.Object ref = headlineOfferMobileLink_; 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(); headlineOfferMobileLink_ = s; return s; } } /** * * *
   * Mobile Link to the headline offer.
   * 
* * optional string headline_offer_mobile_link = 9; * * @return The bytes for headlineOfferMobileLink. */ @java.lang.Override public com.google.protobuf.ByteString getHeadlineOfferMobileLinkBytes() { java.lang.Object ref = headlineOfferMobileLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferMobileLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HEADLINE_OFFER_SHIPPING_PRICE_FIELD_NUMBER = 41; private com.google.shopping.type.Price headlineOfferShippingPrice_; /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; * * @return Whether the headlineOfferShippingPrice field is set. */ @java.lang.Override public boolean hasHeadlineOfferShippingPrice() { return ((bitField0_ & 0x00000400) != 0); } /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; * * @return The headlineOfferShippingPrice. */ @java.lang.Override public com.google.shopping.type.Price getHeadlineOfferShippingPrice() { return headlineOfferShippingPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferShippingPrice_; } /** * * *
   * Headline Price of the aggregate offer.
   * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ @java.lang.Override public com.google.shopping.type.PriceOrBuilder getHeadlineOfferShippingPriceOrBuilder() { return headlineOfferShippingPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferShippingPrice_; } public static final int TITLE_FIELD_NUMBER = 10; @SuppressWarnings("serial") private volatile java.lang.Object title_ = ""; /** * * *
   * Title of the item.
   * 
* * optional string title = 10; * * @return Whether the title field is set. */ @java.lang.Override public boolean hasTitle() { return ((bitField0_ & 0x00000800) != 0); } /** * * *
   * Title of the item.
   * 
* * optional string title = 10; * * @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; } } /** * * *
   * Title of the item.
   * 
* * optional string title = 10; * * @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 IMAGE_LINK_FIELD_NUMBER = 11; @SuppressWarnings("serial") private volatile java.lang.Object imageLink_ = ""; /** * * *
   * URL of an image of the item.
   * 
* * optional string image_link = 11; * * @return Whether the imageLink field is set. */ @java.lang.Override public boolean hasImageLink() { return ((bitField0_ & 0x00001000) != 0); } /** * * *
   * URL of an image of the item.
   * 
* * optional string image_link = 11; * * @return The imageLink. */ @java.lang.Override public java.lang.String getImageLink() { java.lang.Object ref = imageLink_; 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(); imageLink_ = s; return s; } } /** * * *
   * URL of an image of the item.
   * 
* * optional string image_link = 11; * * @return The bytes for imageLink. */ @java.lang.Override public com.google.protobuf.ByteString getImageLinkBytes() { java.lang.Object ref = imageLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int ADDITIONAL_IMAGE_LINKS_FIELD_NUMBER = 12; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList additionalImageLinks_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * Additional URL of images of the item.
   * 
* * repeated string additional_image_links = 12; * * @return A list containing the additionalImageLinks. */ public com.google.protobuf.ProtocolStringList getAdditionalImageLinksList() { return additionalImageLinks_; } /** * * *
   * Additional URL of images of the item.
   * 
* * repeated string additional_image_links = 12; * * @return The count of additionalImageLinks. */ public int getAdditionalImageLinksCount() { return additionalImageLinks_.size(); } /** * * *
   * Additional URL of images of the item.
   * 
* * repeated string additional_image_links = 12; * * @param index The index of the element to return. * @return The additionalImageLinks at the given index. */ public java.lang.String getAdditionalImageLinks(int index) { return additionalImageLinks_.get(index); } /** * * *
   * Additional URL of images of the item.
   * 
* * repeated string additional_image_links = 12; * * @param index The index of the value to return. * @return The bytes of the additionalImageLinks at the given index. */ public com.google.protobuf.ByteString getAdditionalImageLinksBytes(int index) { return additionalImageLinks_.getByteString(index); } public static final int DESCRIPTION_FIELD_NUMBER = 13; @SuppressWarnings("serial") private volatile java.lang.Object description_ = ""; /** * * *
   * Description of the item.
   * 
* * optional string description = 13; * * @return Whether the description field is set. */ @java.lang.Override public boolean hasDescription() { return ((bitField0_ & 0x00002000) != 0); } /** * * *
   * Description of the item.
   * 
* * optional string description = 13; * * @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; } } /** * * *
   * Description of the item.
   * 
* * optional string description = 13; * * @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 BRAND_FIELD_NUMBER = 14; @SuppressWarnings("serial") private volatile java.lang.Object brand_ = ""; /** * * *
   * Product Related Attributes.[14-36]
   * Brand of the item.
   * 
* * optional string brand = 14; * * @return Whether the brand field is set. */ @java.lang.Override public boolean hasBrand() { return ((bitField0_ & 0x00004000) != 0); } /** * * *
   * Product Related Attributes.[14-36]
   * Brand of the item.
   * 
* * optional string brand = 14; * * @return The brand. */ @java.lang.Override public java.lang.String getBrand() { java.lang.Object ref = brand_; 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(); brand_ = s; return s; } } /** * * *
   * Product Related Attributes.[14-36]
   * Brand of the item.
   * 
* * optional string brand = 14; * * @return The bytes for brand. */ @java.lang.Override public com.google.protobuf.ByteString getBrandBytes() { java.lang.Object ref = brand_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); brand_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MPN_FIELD_NUMBER = 15; @SuppressWarnings("serial") private volatile java.lang.Object mpn_ = ""; /** * * *
   * Manufacturer Part Number
   * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
   * item.
   * 
* * optional string mpn = 15; * * @return Whether the mpn field is set. */ @java.lang.Override public boolean hasMpn() { return ((bitField0_ & 0x00008000) != 0); } /** * * *
   * Manufacturer Part Number
   * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
   * item.
   * 
* * optional string mpn = 15; * * @return The mpn. */ @java.lang.Override public java.lang.String getMpn() { java.lang.Object ref = mpn_; 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(); mpn_ = s; return s; } } /** * * *
   * Manufacturer Part Number
   * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
   * item.
   * 
* * optional string mpn = 15; * * @return The bytes for mpn. */ @java.lang.Override public com.google.protobuf.ByteString getMpnBytes() { java.lang.Object ref = mpn_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); mpn_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int GTIN_FIELD_NUMBER = 16; @SuppressWarnings("serial") private volatile java.lang.Object gtin_ = ""; /** * * *
   * Global Trade Item Number
   * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
   * item.
   * 
* * optional string gtin = 16; * * @return Whether the gtin field is set. */ @java.lang.Override public boolean hasGtin() { return ((bitField0_ & 0x00010000) != 0); } /** * * *
   * Global Trade Item Number
   * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
   * item.
   * 
* * optional string gtin = 16; * * @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; } } /** * * *
   * Global Trade Item Number
   * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
   * item.
   * 
* * optional string gtin = 16; * * @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 PRODUCT_TYPES_FIELD_NUMBER = 36; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList productTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * Categories of the item (formatted as in [products data
   * specification](https://support.google.com/merchants/answer/6324406)).
   * 
* * repeated string product_types = 36; * * @return A list containing the productTypes. */ public com.google.protobuf.ProtocolStringList getProductTypesList() { return productTypes_; } /** * * *
   * Categories of the item (formatted as in [products data
   * specification](https://support.google.com/merchants/answer/6324406)).
   * 
* * repeated string product_types = 36; * * @return The count of productTypes. */ public int getProductTypesCount() { return productTypes_.size(); } /** * * *
   * Categories of the item (formatted as in [products data
   * specification](https://support.google.com/merchants/answer/6324406)).
   * 
* * repeated string product_types = 36; * * @param index The index of the element to return. * @return The productTypes at the given index. */ public java.lang.String getProductTypes(int index) { return productTypes_.get(index); } /** * * *
   * Categories of the item (formatted as in [products data
   * specification](https://support.google.com/merchants/answer/6324406)).
   * 
* * repeated string product_types = 36; * * @param index The index of the value to return. * @return The bytes of the productTypes at the given index. */ public com.google.protobuf.ByteString getProductTypesBytes(int index) { return productTypes_.getByteString(index); } public static final int GOOGLE_PRODUCT_CATEGORY_FIELD_NUMBER = 17; @SuppressWarnings("serial") private volatile java.lang.Object googleProductCategory_ = ""; /** * * *
   * Google's category of the item (see [Google product
   * taxonomy](https://support.google.com/merchants/answer/1705911)). When
   * querying products, this field will contain the user provided value. There
   * is currently no way to get back the auto assigned google product
   * categories through the API.
   * 
* * optional string google_product_category = 17; * * @return Whether the googleProductCategory field is set. */ @java.lang.Override public boolean hasGoogleProductCategory() { return ((bitField0_ & 0x00020000) != 0); } /** * * *
   * Google's category of the item (see [Google product
   * taxonomy](https://support.google.com/merchants/answer/1705911)). When
   * querying products, this field will contain the user provided value. There
   * is currently no way to get back the auto assigned google product
   * categories through the API.
   * 
* * optional string google_product_category = 17; * * @return The googleProductCategory. */ @java.lang.Override public java.lang.String getGoogleProductCategory() { java.lang.Object ref = googleProductCategory_; 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(); googleProductCategory_ = s; return s; } } /** * * *
   * Google's category of the item (see [Google product
   * taxonomy](https://support.google.com/merchants/answer/1705911)). When
   * querying products, this field will contain the user provided value. There
   * is currently no way to get back the auto assigned google product
   * categories through the API.
   * 
* * optional string google_product_category = 17; * * @return The bytes for googleProductCategory. */ @java.lang.Override public com.google.protobuf.ByteString getGoogleProductCategoryBytes() { java.lang.Object ref = googleProductCategory_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); googleProductCategory_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int ADULT_FIELD_NUMBER = 18; private boolean adult_ = false; /** * * *
   * Set to true if the item is targeted towards adults.
   * 
* * optional bool adult = 18; * * @return Whether the adult field is set. */ @java.lang.Override public boolean hasAdult() { return ((bitField0_ & 0x00040000) != 0); } /** * * *
   * Set to true if the item is targeted towards adults.
   * 
* * optional bool adult = 18; * * @return The adult. */ @java.lang.Override public boolean getAdult() { return adult_; } public static final int MULTIPACK_FIELD_NUMBER = 19; private long multipack_ = 0L; /** * * *
   * The number of identical products in a merchant-defined multipack.
   * 
* * optional int64 multipack = 19; * * @return Whether the multipack field is set. */ @java.lang.Override public boolean hasMultipack() { return ((bitField0_ & 0x00080000) != 0); } /** * * *
   * The number of identical products in a merchant-defined multipack.
   * 
* * optional int64 multipack = 19; * * @return The multipack. */ @java.lang.Override public long getMultipack() { return multipack_; } public static final int IS_BUNDLE_FIELD_NUMBER = 20; private boolean isBundle_ = false; /** * * *
   * Whether the item is a merchant-defined bundle. A bundle is a custom
   * grouping of different products sold by a merchant for a single price.
   * 
* * optional bool is_bundle = 20; * * @return Whether the isBundle field is set. */ @java.lang.Override public boolean hasIsBundle() { return ((bitField0_ & 0x00100000) != 0); } /** * * *
   * Whether the item is a merchant-defined bundle. A bundle is a custom
   * grouping of different products sold by a merchant for a single price.
   * 
* * optional bool is_bundle = 20; * * @return The isBundle. */ @java.lang.Override public boolean getIsBundle() { return isBundle_; } public static final int AGE_GROUP_FIELD_NUMBER = 21; @SuppressWarnings("serial") private volatile java.lang.Object ageGroup_ = ""; /** * * *
   * Target age group of the item.
   * 
* * optional string age_group = 21; * * @return Whether the ageGroup field is set. */ @java.lang.Override public boolean hasAgeGroup() { return ((bitField0_ & 0x00200000) != 0); } /** * * *
   * Target age group of the item.
   * 
* * optional string age_group = 21; * * @return The ageGroup. */ @java.lang.Override public java.lang.String getAgeGroup() { java.lang.Object ref = ageGroup_; 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(); ageGroup_ = s; return s; } } /** * * *
   * Target age group of the item.
   * 
* * optional string age_group = 21; * * @return The bytes for ageGroup. */ @java.lang.Override public com.google.protobuf.ByteString getAgeGroupBytes() { java.lang.Object ref = ageGroup_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); ageGroup_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int COLOR_FIELD_NUMBER = 22; @SuppressWarnings("serial") private volatile java.lang.Object color_ = ""; /** * * *
   * Color of the item.
   * 
* * optional string color = 22; * * @return Whether the color field is set. */ @java.lang.Override public boolean hasColor() { return ((bitField0_ & 0x00400000) != 0); } /** * * *
   * Color of the item.
   * 
* * optional string color = 22; * * @return The color. */ @java.lang.Override public java.lang.String getColor() { java.lang.Object ref = color_; 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(); color_ = s; return s; } } /** * * *
   * Color of the item.
   * 
* * optional string color = 22; * * @return The bytes for color. */ @java.lang.Override public com.google.protobuf.ByteString getColorBytes() { java.lang.Object ref = color_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); color_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int GENDER_FIELD_NUMBER = 23; @SuppressWarnings("serial") private volatile java.lang.Object gender_ = ""; /** * * *
   * Target gender of the item.
   * 
* * optional string gender = 23; * * @return Whether the gender field is set. */ @java.lang.Override public boolean hasGender() { return ((bitField0_ & 0x00800000) != 0); } /** * * *
   * Target gender of the item.
   * 
* * optional string gender = 23; * * @return The gender. */ @java.lang.Override public java.lang.String getGender() { java.lang.Object ref = gender_; 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(); gender_ = s; return s; } } /** * * *
   * Target gender of the item.
   * 
* * optional string gender = 23; * * @return The bytes for gender. */ @java.lang.Override public com.google.protobuf.ByteString getGenderBytes() { java.lang.Object ref = gender_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); gender_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int MATERIAL_FIELD_NUMBER = 24; @SuppressWarnings("serial") private volatile java.lang.Object material_ = ""; /** * * *
   * The material of which the item is made.
   * 
* * optional string material = 24; * * @return Whether the material field is set. */ @java.lang.Override public boolean hasMaterial() { return ((bitField0_ & 0x01000000) != 0); } /** * * *
   * The material of which the item is made.
   * 
* * optional string material = 24; * * @return The material. */ @java.lang.Override public java.lang.String getMaterial() { java.lang.Object ref = material_; 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(); material_ = s; return s; } } /** * * *
   * The material of which the item is made.
   * 
* * optional string material = 24; * * @return The bytes for material. */ @java.lang.Override public com.google.protobuf.ByteString getMaterialBytes() { java.lang.Object ref = material_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); material_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PATTERN_FIELD_NUMBER = 25; @SuppressWarnings("serial") private volatile java.lang.Object pattern_ = ""; /** * * *
   * The item's pattern (e.g. polka dots).
   * 
* * optional string pattern = 25; * * @return Whether the pattern field is set. */ @java.lang.Override public boolean hasPattern() { return ((bitField0_ & 0x02000000) != 0); } /** * * *
   * The item's pattern (e.g. polka dots).
   * 
* * optional string pattern = 25; * * @return The pattern. */ @java.lang.Override public java.lang.String getPattern() { java.lang.Object ref = pattern_; 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(); pattern_ = s; return s; } } /** * * *
   * The item's pattern (e.g. polka dots).
   * 
* * optional string pattern = 25; * * @return The bytes for pattern. */ @java.lang.Override public com.google.protobuf.ByteString getPatternBytes() { java.lang.Object ref = pattern_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pattern_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SIZE_FIELD_NUMBER = 26; @SuppressWarnings("serial") private volatile java.lang.Object size_ = ""; /** * * *
   * Size of the item. Only one value is allowed. For variants with different
   * sizes, insert a separate product for each size with the same
   * `itemGroupId` value (see
   * [https://support.google.com/merchants/answer/6324492](size definition)).
   * 
* * optional string size = 26; * * @return Whether the size field is set. */ @java.lang.Override public boolean hasSize() { return ((bitField0_ & 0x04000000) != 0); } /** * * *
   * Size of the item. Only one value is allowed. For variants with different
   * sizes, insert a separate product for each size with the same
   * `itemGroupId` value (see
   * [https://support.google.com/merchants/answer/6324492](size definition)).
   * 
* * optional string size = 26; * * @return The size. */ @java.lang.Override public java.lang.String getSize() { java.lang.Object ref = size_; 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(); size_ = s; return s; } } /** * * *
   * Size of the item. Only one value is allowed. For variants with different
   * sizes, insert a separate product for each size with the same
   * `itemGroupId` value (see
   * [https://support.google.com/merchants/answer/6324492](size definition)).
   * 
* * optional string size = 26; * * @return The bytes for size. */ @java.lang.Override public com.google.protobuf.ByteString getSizeBytes() { java.lang.Object ref = size_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); size_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SIZE_SYSTEM_FIELD_NUMBER = 27; @SuppressWarnings("serial") private volatile java.lang.Object sizeSystem_ = ""; /** * * *
   * System in which the size is specified. Recommended for apparel items.
   * 
* * optional string size_system = 27; * * @return Whether the sizeSystem field is set. */ @java.lang.Override public boolean hasSizeSystem() { return ((bitField0_ & 0x08000000) != 0); } /** * * *
   * System in which the size is specified. Recommended for apparel items.
   * 
* * optional string size_system = 27; * * @return The sizeSystem. */ @java.lang.Override public java.lang.String getSizeSystem() { java.lang.Object ref = sizeSystem_; 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(); sizeSystem_ = s; return s; } } /** * * *
   * System in which the size is specified. Recommended for apparel items.
   * 
* * optional string size_system = 27; * * @return The bytes for sizeSystem. */ @java.lang.Override public com.google.protobuf.ByteString getSizeSystemBytes() { java.lang.Object ref = sizeSystem_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); sizeSystem_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SIZE_TYPES_FIELD_NUMBER = 28; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sizeTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * The cut of the item. It can be used to represent combined size types for
   * apparel items. Maximum two of size types can be provided (see
   * [https://support.google.com/merchants/answer/6324497](size type)).
   * 
* * repeated string size_types = 28; * * @return A list containing the sizeTypes. */ public com.google.protobuf.ProtocolStringList getSizeTypesList() { return sizeTypes_; } /** * * *
   * The cut of the item. It can be used to represent combined size types for
   * apparel items. Maximum two of size types can be provided (see
   * [https://support.google.com/merchants/answer/6324497](size type)).
   * 
* * repeated string size_types = 28; * * @return The count of sizeTypes. */ public int getSizeTypesCount() { return sizeTypes_.size(); } /** * * *
   * The cut of the item. It can be used to represent combined size types for
   * apparel items. Maximum two of size types can be provided (see
   * [https://support.google.com/merchants/answer/6324497](size type)).
   * 
* * repeated string size_types = 28; * * @param index The index of the element to return. * @return The sizeTypes at the given index. */ public java.lang.String getSizeTypes(int index) { return sizeTypes_.get(index); } /** * * *
   * The cut of the item. It can be used to represent combined size types for
   * apparel items. Maximum two of size types can be provided (see
   * [https://support.google.com/merchants/answer/6324497](size type)).
   * 
* * repeated string size_types = 28; * * @param index The index of the value to return. * @return The bytes of the sizeTypes at the given index. */ public com.google.protobuf.ByteString getSizeTypesBytes(int index) { return sizeTypes_.getByteString(index); } public static final int ITEM_GROUP_ID_FIELD_NUMBER = 29; @SuppressWarnings("serial") private volatile java.lang.Object itemGroupId_ = ""; /** * * *
   * Shared identifier for all variants of the same product.
   * 
* * optional string item_group_id = 29; * * @return Whether the itemGroupId field is set. */ @java.lang.Override public boolean hasItemGroupId() { return ((bitField0_ & 0x10000000) != 0); } /** * * *
   * Shared identifier for all variants of the same product.
   * 
* * optional string item_group_id = 29; * * @return The itemGroupId. */ @java.lang.Override public java.lang.String getItemGroupId() { java.lang.Object ref = itemGroupId_; 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(); itemGroupId_ = s; return s; } } /** * * *
   * Shared identifier for all variants of the same product.
   * 
* * optional string item_group_id = 29; * * @return The bytes for itemGroupId. */ @java.lang.Override public com.google.protobuf.ByteString getItemGroupIdBytes() { java.lang.Object ref = itemGroupId_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); itemGroupId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PRODUCT_DETAILS_FIELD_NUMBER = 30; @SuppressWarnings("serial") private java.util.List productDetails_; /** * * *
   * Technical specification or additional product details.
   * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ @java.lang.Override public java.util.List getProductDetailsList() { return productDetails_; } /** * * *
   * Technical specification or additional product details.
   * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ @java.lang.Override public java.util.List getProductDetailsOrBuilderList() { return productDetails_; } /** * * *
   * Technical specification or additional product details.
   * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ @java.lang.Override public int getProductDetailsCount() { return productDetails_.size(); } /** * * *
   * Technical specification or additional product details.
   * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ @java.lang.Override public com.google.shopping.css.v1.ProductDetail getProductDetails(int index) { return productDetails_.get(index); } /** * * *
   * Technical specification or additional product details.
   * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ @java.lang.Override public com.google.shopping.css.v1.ProductDetailOrBuilder getProductDetailsOrBuilder(int index) { return productDetails_.get(index); } public static final int PRODUCT_WEIGHT_FIELD_NUMBER = 31; private com.google.shopping.css.v1.ProductWeight productWeight_; /** * * *
   * The weight of the product in the units provided. The value must be
   * between 0 (exclusive) and 2000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; * * @return Whether the productWeight field is set. */ @java.lang.Override public boolean hasProductWeight() { return ((bitField0_ & 0x20000000) != 0); } /** * * *
   * The weight of the product in the units provided. The value must be
   * between 0 (exclusive) and 2000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; * * @return The productWeight. */ @java.lang.Override public com.google.shopping.css.v1.ProductWeight getProductWeight() { return productWeight_ == null ? com.google.shopping.css.v1.ProductWeight.getDefaultInstance() : productWeight_; } /** * * *
   * The weight of the product in the units provided. The value must be
   * between 0 (exclusive) and 2000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ @java.lang.Override public com.google.shopping.css.v1.ProductWeightOrBuilder getProductWeightOrBuilder() { return productWeight_ == null ? com.google.shopping.css.v1.ProductWeight.getDefaultInstance() : productWeight_; } public static final int PRODUCT_LENGTH_FIELD_NUMBER = 32; private com.google.shopping.css.v1.ProductDimension productLength_; /** * * *
   * The length of the product in the units provided. The value must be
   * between 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; * * @return Whether the productLength field is set. */ @java.lang.Override public boolean hasProductLength() { return ((bitField0_ & 0x40000000) != 0); } /** * * *
   * The length of the product in the units provided. The value must be
   * between 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; * * @return The productLength. */ @java.lang.Override public com.google.shopping.css.v1.ProductDimension getProductLength() { return productLength_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productLength_; } /** * * *
   * The length of the product in the units provided. The value must be
   * between 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ @java.lang.Override public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductLengthOrBuilder() { return productLength_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productLength_; } public static final int PRODUCT_WIDTH_FIELD_NUMBER = 33; private com.google.shopping.css.v1.ProductDimension productWidth_; /** * * *
   * The width of the product in the units provided. The value must be between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; * * @return Whether the productWidth field is set. */ @java.lang.Override public boolean hasProductWidth() { return ((bitField0_ & 0x80000000) != 0); } /** * * *
   * The width of the product in the units provided. The value must be between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; * * @return The productWidth. */ @java.lang.Override public com.google.shopping.css.v1.ProductDimension getProductWidth() { return productWidth_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productWidth_; } /** * * *
   * The width of the product in the units provided. The value must be between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ @java.lang.Override public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductWidthOrBuilder() { return productWidth_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productWidth_; } public static final int PRODUCT_HEIGHT_FIELD_NUMBER = 34; private com.google.shopping.css.v1.ProductDimension productHeight_; /** * * *
   * The height of the product in the units provided. The value must be
   * between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; * * @return Whether the productHeight field is set. */ @java.lang.Override public boolean hasProductHeight() { return ((bitField1_ & 0x00000001) != 0); } /** * * *
   * The height of the product in the units provided. The value must be
   * between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; * * @return The productHeight. */ @java.lang.Override public com.google.shopping.css.v1.ProductDimension getProductHeight() { return productHeight_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productHeight_; } /** * * *
   * The height of the product in the units provided. The value must be
   * between
   * 0 (exclusive) and 3000 (inclusive).
   * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ @java.lang.Override public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductHeightOrBuilder() { return productHeight_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productHeight_; } public static final int PRODUCT_HIGHLIGHTS_FIELD_NUMBER = 35; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList productHighlights_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * Bullet points describing the most relevant highlights of a product.
   * 
* * repeated string product_highlights = 35; * * @return A list containing the productHighlights. */ public com.google.protobuf.ProtocolStringList getProductHighlightsList() { return productHighlights_; } /** * * *
   * Bullet points describing the most relevant highlights of a product.
   * 
* * repeated string product_highlights = 35; * * @return The count of productHighlights. */ public int getProductHighlightsCount() { return productHighlights_.size(); } /** * * *
   * Bullet points describing the most relevant highlights of a product.
   * 
* * repeated string product_highlights = 35; * * @param index The index of the element to return. * @return The productHighlights at the given index. */ public java.lang.String getProductHighlights(int index) { return productHighlights_.get(index); } /** * * *
   * Bullet points describing the most relevant highlights of a product.
   * 
* * repeated string product_highlights = 35; * * @param index The index of the value to return. * @return The bytes of the productHighlights at the given index. */ public com.google.protobuf.ByteString getProductHighlightsBytes(int index) { return productHighlights_.getByteString(index); } public static final int CERTIFICATIONS_FIELD_NUMBER = 39; @SuppressWarnings("serial") private java.util.List certifications_; /** * * *
   * A list of certificates claimed by the CSS for the given product.
   * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ @java.lang.Override public java.util.List getCertificationsList() { return certifications_; } /** * * *
   * A list of certificates claimed by the CSS for the given product.
   * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ @java.lang.Override public java.util.List getCertificationsOrBuilderList() { return certifications_; } /** * * *
   * A list of certificates claimed by the CSS for the given product.
   * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ @java.lang.Override public int getCertificationsCount() { return certifications_.size(); } /** * * *
   * A list of certificates claimed by the CSS for the given product.
   * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ @java.lang.Override public com.google.shopping.css.v1.Certification getCertifications(int index) { return certifications_.get(index); } /** * * *
   * A list of certificates claimed by the CSS for the given product.
   * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ @java.lang.Override public com.google.shopping.css.v1.CertificationOrBuilder getCertificationsOrBuilder(int index) { return certifications_.get(index); } public static final int EXPIRATION_DATE_FIELD_NUMBER = 40; private com.google.protobuf.Timestamp expirationDate_; /** * * *
   * Date on which the item should expire, as specified upon insertion, in
   * [ISO
   * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
   * expiration date is exposed in `productstatuses` as
   * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
   * and might be earlier if `expirationDate` is too far in the future.
   * Note: It may take 2+ days from the expiration date for the item to
   * actually get deleted.
   * 
* * .google.protobuf.Timestamp expiration_date = 40; * * @return Whether the expirationDate field is set. */ @java.lang.Override public boolean hasExpirationDate() { return ((bitField1_ & 0x00000002) != 0); } /** * * *
   * Date on which the item should expire, as specified upon insertion, in
   * [ISO
   * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
   * expiration date is exposed in `productstatuses` as
   * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
   * and might be earlier if `expirationDate` is too far in the future.
   * Note: It may take 2+ days from the expiration date for the item to
   * actually get deleted.
   * 
* * .google.protobuf.Timestamp expiration_date = 40; * * @return The expirationDate. */ @java.lang.Override public com.google.protobuf.Timestamp getExpirationDate() { return expirationDate_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expirationDate_; } /** * * *
   * Date on which the item should expire, as specified upon insertion, in
   * [ISO
   * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
   * expiration date is exposed in `productstatuses` as
   * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
   * and might be earlier if `expirationDate` is too far in the future.
   * Note: It may take 2+ days from the expiration date for the item to
   * actually get deleted.
   * 
* * .google.protobuf.Timestamp expiration_date = 40; */ @java.lang.Override public com.google.protobuf.TimestampOrBuilder getExpirationDateOrBuilder() { return expirationDate_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expirationDate_; } public static final int INCLUDED_DESTINATIONS_FIELD_NUMBER = 43; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList includedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * The list of destinations to include for this target (corresponds to
   * checked check boxes in Merchant Center). Default destinations are always
   * included unless provided in `excludedDestinations`.
   * 
* * repeated string included_destinations = 43; * * @return A list containing the includedDestinations. */ public com.google.protobuf.ProtocolStringList getIncludedDestinationsList() { return includedDestinations_; } /** * * *
   * The list of destinations to include for this target (corresponds to
   * checked check boxes in Merchant Center). Default destinations are always
   * included unless provided in `excludedDestinations`.
   * 
* * repeated string included_destinations = 43; * * @return The count of includedDestinations. */ public int getIncludedDestinationsCount() { return includedDestinations_.size(); } /** * * *
   * The list of destinations to include for this target (corresponds to
   * checked check boxes in Merchant Center). Default destinations are always
   * included unless provided in `excludedDestinations`.
   * 
* * repeated string included_destinations = 43; * * @param index The index of the element to return. * @return The includedDestinations at the given index. */ public java.lang.String getIncludedDestinations(int index) { return includedDestinations_.get(index); } /** * * *
   * The list of destinations to include for this target (corresponds to
   * checked check boxes in Merchant Center). Default destinations are always
   * included unless provided in `excludedDestinations`.
   * 
* * repeated string included_destinations = 43; * * @param index The index of the value to return. * @return The bytes of the includedDestinations at the given index. */ public com.google.protobuf.ByteString getIncludedDestinationsBytes(int index) { return includedDestinations_.getByteString(index); } public static final int EXCLUDED_DESTINATIONS_FIELD_NUMBER = 44; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList excludedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * The list of destinations to exclude for this target (corresponds to
   * unchecked check boxes in Merchant Center).
   * 
* * repeated string excluded_destinations = 44; * * @return A list containing the excludedDestinations. */ public com.google.protobuf.ProtocolStringList getExcludedDestinationsList() { return excludedDestinations_; } /** * * *
   * The list of destinations to exclude for this target (corresponds to
   * unchecked check boxes in Merchant Center).
   * 
* * repeated string excluded_destinations = 44; * * @return The count of excludedDestinations. */ public int getExcludedDestinationsCount() { return excludedDestinations_.size(); } /** * * *
   * The list of destinations to exclude for this target (corresponds to
   * unchecked check boxes in Merchant Center).
   * 
* * repeated string excluded_destinations = 44; * * @param index The index of the element to return. * @return The excludedDestinations at the given index. */ public java.lang.String getExcludedDestinations(int index) { return excludedDestinations_.get(index); } /** * * *
   * The list of destinations to exclude for this target (corresponds to
   * unchecked check boxes in Merchant Center).
   * 
* * repeated string excluded_destinations = 44; * * @param index The index of the value to return. * @return The bytes of the excludedDestinations at the given index. */ public com.google.protobuf.ByteString getExcludedDestinationsBytes(int index) { return excludedDestinations_.getByteString(index); } public static final int PAUSE_FIELD_NUMBER = 45; @SuppressWarnings("serial") private volatile java.lang.Object pause_ = ""; /** * * *
   * Publication of this item will be temporarily paused.
   * 
* * optional string pause = 45; * * @return Whether the pause field is set. */ @java.lang.Override public boolean hasPause() { return ((bitField1_ & 0x00000004) != 0); } /** * * *
   * Publication of this item will be temporarily paused.
   * 
* * optional string pause = 45; * * @return The pause. */ @java.lang.Override public java.lang.String getPause() { java.lang.Object ref = pause_; 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(); pause_ = s; return s; } } /** * * *
   * Publication of this item will be temporarily paused.
   * 
* * optional string pause = 45; * * @return The bytes for pause. */ @java.lang.Override public com.google.protobuf.ByteString getPauseBytes() { java.lang.Object ref = pause_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pause_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CUSTOM_LABEL_0_FIELD_NUMBER = 46; @SuppressWarnings("serial") private volatile java.lang.Object customLabel0_ = ""; /** * * *
   * Custom label 0 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_0 = 46; * * @return Whether the customLabel0 field is set. */ @java.lang.Override public boolean hasCustomLabel0() { return ((bitField1_ & 0x00000008) != 0); } /** * * *
   * Custom label 0 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_0 = 46; * * @return The customLabel0. */ @java.lang.Override public java.lang.String getCustomLabel0() { java.lang.Object ref = customLabel0_; 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(); customLabel0_ = s; return s; } } /** * * *
   * Custom label 0 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_0 = 46; * * @return The bytes for customLabel0. */ @java.lang.Override public com.google.protobuf.ByteString getCustomLabel0Bytes() { java.lang.Object ref = customLabel0_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel0_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CUSTOM_LABEL_1_FIELD_NUMBER = 47; @SuppressWarnings("serial") private volatile java.lang.Object customLabel1_ = ""; /** * * *
   * Custom label 1 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_1 = 47; * * @return Whether the customLabel1 field is set. */ @java.lang.Override public boolean hasCustomLabel1() { return ((bitField1_ & 0x00000010) != 0); } /** * * *
   * Custom label 1 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_1 = 47; * * @return The customLabel1. */ @java.lang.Override public java.lang.String getCustomLabel1() { java.lang.Object ref = customLabel1_; 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(); customLabel1_ = s; return s; } } /** * * *
   * Custom label 1 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_1 = 47; * * @return The bytes for customLabel1. */ @java.lang.Override public com.google.protobuf.ByteString getCustomLabel1Bytes() { java.lang.Object ref = customLabel1_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel1_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CUSTOM_LABEL_2_FIELD_NUMBER = 48; @SuppressWarnings("serial") private volatile java.lang.Object customLabel2_ = ""; /** * * *
   * Custom label 2 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_2 = 48; * * @return Whether the customLabel2 field is set. */ @java.lang.Override public boolean hasCustomLabel2() { return ((bitField1_ & 0x00000020) != 0); } /** * * *
   * Custom label 2 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_2 = 48; * * @return The customLabel2. */ @java.lang.Override public java.lang.String getCustomLabel2() { java.lang.Object ref = customLabel2_; 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(); customLabel2_ = s; return s; } } /** * * *
   * Custom label 2 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_2 = 48; * * @return The bytes for customLabel2. */ @java.lang.Override public com.google.protobuf.ByteString getCustomLabel2Bytes() { java.lang.Object ref = customLabel2_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel2_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CUSTOM_LABEL_3_FIELD_NUMBER = 49; @SuppressWarnings("serial") private volatile java.lang.Object customLabel3_ = ""; /** * * *
   * Custom label 3 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_3 = 49; * * @return Whether the customLabel3 field is set. */ @java.lang.Override public boolean hasCustomLabel3() { return ((bitField1_ & 0x00000040) != 0); } /** * * *
   * Custom label 3 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_3 = 49; * * @return The customLabel3. */ @java.lang.Override public java.lang.String getCustomLabel3() { java.lang.Object ref = customLabel3_; 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(); customLabel3_ = s; return s; } } /** * * *
   * Custom label 3 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_3 = 49; * * @return The bytes for customLabel3. */ @java.lang.Override public com.google.protobuf.ByteString getCustomLabel3Bytes() { java.lang.Object ref = customLabel3_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel3_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CUSTOM_LABEL_4_FIELD_NUMBER = 50; @SuppressWarnings("serial") private volatile java.lang.Object customLabel4_ = ""; /** * * *
   * Custom label 4 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_4 = 50; * * @return Whether the customLabel4 field is set. */ @java.lang.Override public boolean hasCustomLabel4() { return ((bitField1_ & 0x00000080) != 0); } /** * * *
   * Custom label 4 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_4 = 50; * * @return The customLabel4. */ @java.lang.Override public java.lang.String getCustomLabel4() { java.lang.Object ref = customLabel4_; 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(); customLabel4_ = s; return s; } } /** * * *
   * Custom label 4 for custom grouping of items in a Shopping campaign.
   * 
* * optional string custom_label_4 = 50; * * @return The bytes for customLabel4. */ @java.lang.Override public com.google.protobuf.ByteString getCustomLabel4Bytes() { java.lang.Object ref = customLabel4_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel4_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HEADLINE_OFFER_INSTALLMENT_FIELD_NUMBER = 51; private com.google.shopping.css.v1.HeadlineOfferInstallment headlineOfferInstallment_; /** * * *
   * Number and amount of installments to pay for an item.
   * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * * @return Whether the headlineOfferInstallment field is set. */ @java.lang.Override public boolean hasHeadlineOfferInstallment() { return ((bitField1_ & 0x00000100) != 0); } /** * * *
   * Number and amount of installments to pay for an item.
   * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * * @return The headlineOfferInstallment. */ @java.lang.Override public com.google.shopping.css.v1.HeadlineOfferInstallment getHeadlineOfferInstallment() { return headlineOfferInstallment_ == null ? com.google.shopping.css.v1.HeadlineOfferInstallment.getDefaultInstance() : headlineOfferInstallment_; } /** * * *
   * Number and amount of installments to pay for an item.
   * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; */ @java.lang.Override public com.google.shopping.css.v1.HeadlineOfferInstallmentOrBuilder getHeadlineOfferInstallmentOrBuilder() { return headlineOfferInstallment_ == null ? com.google.shopping.css.v1.HeadlineOfferInstallment.getDefaultInstance() : headlineOfferInstallment_; } public static final int HEADLINE_OFFER_SUBSCRIPTION_COST_FIELD_NUMBER = 52; private com.google.shopping.css.v1.HeadlineOfferSubscriptionCost headlineOfferSubscriptionCost_; /** * * *
   * Number of periods (months or years) and amount of payment per period
   * for an item with an associated subscription contract.
   * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * * * @return Whether the headlineOfferSubscriptionCost field is set. */ @java.lang.Override public boolean hasHeadlineOfferSubscriptionCost() { return ((bitField1_ & 0x00000200) != 0); } /** * * *
   * Number of periods (months or years) and amount of payment per period
   * for an item with an associated subscription contract.
   * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * * * @return The headlineOfferSubscriptionCost. */ @java.lang.Override public com.google.shopping.css.v1.HeadlineOfferSubscriptionCost getHeadlineOfferSubscriptionCost() { return headlineOfferSubscriptionCost_ == null ? com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.getDefaultInstance() : headlineOfferSubscriptionCost_; } /** * * *
   * Number of periods (months or years) and amount of payment per period
   * for an item with an associated subscription contract.
   * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ @java.lang.Override public com.google.shopping.css.v1.HeadlineOfferSubscriptionCostOrBuilder getHeadlineOfferSubscriptionCostOrBuilder() { return headlineOfferSubscriptionCost_ == null ? com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.getDefaultInstance() : headlineOfferSubscriptionCost_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, cppLink_); } if (((bitField0_ & 0x00000002) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, cppMobileLink_); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(3, getLowPrice()); } if (((bitField0_ & 0x00000010) != 0)) { output.writeMessage(4, getHighPrice()); } if (((bitField0_ & 0x00000020) != 0)) { output.writeInt64(5, numberOfOffers_); } if (((bitField0_ & 0x00000040) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, headlineOfferCondition_); } if (((bitField0_ & 0x00000080) != 0)) { output.writeMessage(7, getHeadlineOfferPrice()); } if (((bitField0_ & 0x00000100) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, headlineOfferLink_); } if (((bitField0_ & 0x00000200) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 9, headlineOfferMobileLink_); } if (((bitField0_ & 0x00000800) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 10, title_); } if (((bitField0_ & 0x00001000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 11, imageLink_); } for (int i = 0; i < additionalImageLinks_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString( output, 12, additionalImageLinks_.getRaw(i)); } if (((bitField0_ & 0x00002000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 13, description_); } if (((bitField0_ & 0x00004000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 14, brand_); } if (((bitField0_ & 0x00008000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 15, mpn_); } if (((bitField0_ & 0x00010000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 16, gtin_); } if (((bitField0_ & 0x00020000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 17, googleProductCategory_); } if (((bitField0_ & 0x00040000) != 0)) { output.writeBool(18, adult_); } if (((bitField0_ & 0x00080000) != 0)) { output.writeInt64(19, multipack_); } if (((bitField0_ & 0x00100000) != 0)) { output.writeBool(20, isBundle_); } if (((bitField0_ & 0x00200000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 21, ageGroup_); } if (((bitField0_ & 0x00400000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 22, color_); } if (((bitField0_ & 0x00800000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 23, gender_); } if (((bitField0_ & 0x01000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 24, material_); } if (((bitField0_ & 0x02000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 25, pattern_); } if (((bitField0_ & 0x04000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 26, size_); } if (((bitField0_ & 0x08000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 27, sizeSystem_); } for (int i = 0; i < sizeTypes_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 28, sizeTypes_.getRaw(i)); } if (((bitField0_ & 0x10000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 29, itemGroupId_); } for (int i = 0; i < productDetails_.size(); i++) { output.writeMessage(30, productDetails_.get(i)); } if (((bitField0_ & 0x20000000) != 0)) { output.writeMessage(31, getProductWeight()); } if (((bitField0_ & 0x40000000) != 0)) { output.writeMessage(32, getProductLength()); } if (((bitField0_ & 0x80000000) != 0)) { output.writeMessage(33, getProductWidth()); } if (((bitField1_ & 0x00000001) != 0)) { output.writeMessage(34, getProductHeight()); } for (int i = 0; i < productHighlights_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 35, productHighlights_.getRaw(i)); } for (int i = 0; i < productTypes_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 36, productTypes_.getRaw(i)); } for (int i = 0; i < certifications_.size(); i++) { output.writeMessage(39, certifications_.get(i)); } if (((bitField1_ & 0x00000002) != 0)) { output.writeMessage(40, getExpirationDate()); } if (((bitField0_ & 0x00000400) != 0)) { output.writeMessage(41, getHeadlineOfferShippingPrice()); } if (((bitField0_ & 0x00000004) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 42, cppAdsRedirect_); } for (int i = 0; i < includedDestinations_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString( output, 43, includedDestinations_.getRaw(i)); } for (int i = 0; i < excludedDestinations_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString( output, 44, excludedDestinations_.getRaw(i)); } if (((bitField1_ & 0x00000004) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 45, pause_); } if (((bitField1_ & 0x00000008) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 46, customLabel0_); } if (((bitField1_ & 0x00000010) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 47, customLabel1_); } if (((bitField1_ & 0x00000020) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 48, customLabel2_); } if (((bitField1_ & 0x00000040) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 49, customLabel3_); } if (((bitField1_ & 0x00000080) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 50, customLabel4_); } if (((bitField1_ & 0x00000100) != 0)) { output.writeMessage(51, getHeadlineOfferInstallment()); } if (((bitField1_ & 0x00000200) != 0)) { output.writeMessage(52, getHeadlineOfferSubscriptionCost()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, cppLink_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, cppMobileLink_); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getLowPrice()); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getHighPrice()); } if (((bitField0_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream.computeInt64Size(5, numberOfOffers_); } if (((bitField0_ & 0x00000040) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, headlineOfferCondition_); } if (((bitField0_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getHeadlineOfferPrice()); } if (((bitField0_ & 0x00000100) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, headlineOfferLink_); } if (((bitField0_ & 0x00000200) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, headlineOfferMobileLink_); } if (((bitField0_ & 0x00000800) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, title_); } if (((bitField0_ & 0x00001000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, imageLink_); } { int dataSize = 0; for (int i = 0; i < additionalImageLinks_.size(); i++) { dataSize += computeStringSizeNoTag(additionalImageLinks_.getRaw(i)); } size += dataSize; size += 1 * getAdditionalImageLinksList().size(); } if (((bitField0_ & 0x00002000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, description_); } if (((bitField0_ & 0x00004000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, brand_); } if (((bitField0_ & 0x00008000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, mpn_); } if (((bitField0_ & 0x00010000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, gtin_); } if (((bitField0_ & 0x00020000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, googleProductCategory_); } if (((bitField0_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(18, adult_); } if (((bitField0_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeInt64Size(19, multipack_); } if (((bitField0_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(20, isBundle_); } if (((bitField0_ & 0x00200000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(21, ageGroup_); } if (((bitField0_ & 0x00400000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(22, color_); } if (((bitField0_ & 0x00800000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(23, gender_); } if (((bitField0_ & 0x01000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(24, material_); } if (((bitField0_ & 0x02000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(25, pattern_); } if (((bitField0_ & 0x04000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(26, size_); } if (((bitField0_ & 0x08000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(27, sizeSystem_); } { int dataSize = 0; for (int i = 0; i < sizeTypes_.size(); i++) { dataSize += computeStringSizeNoTag(sizeTypes_.getRaw(i)); } size += dataSize; size += 2 * getSizeTypesList().size(); } if (((bitField0_ & 0x10000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(29, itemGroupId_); } for (int i = 0; i < productDetails_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(30, productDetails_.get(i)); } if (((bitField0_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(31, getProductWeight()); } if (((bitField0_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(32, getProductLength()); } if (((bitField0_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(33, getProductWidth()); } if (((bitField1_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(34, getProductHeight()); } { int dataSize = 0; for (int i = 0; i < productHighlights_.size(); i++) { dataSize += computeStringSizeNoTag(productHighlights_.getRaw(i)); } size += dataSize; size += 2 * getProductHighlightsList().size(); } { int dataSize = 0; for (int i = 0; i < productTypes_.size(); i++) { dataSize += computeStringSizeNoTag(productTypes_.getRaw(i)); } size += dataSize; size += 2 * getProductTypesList().size(); } for (int i = 0; i < certifications_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(39, certifications_.get(i)); } if (((bitField1_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(40, getExpirationDate()); } if (((bitField0_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize( 41, getHeadlineOfferShippingPrice()); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(42, cppAdsRedirect_); } { int dataSize = 0; for (int i = 0; i < includedDestinations_.size(); i++) { dataSize += computeStringSizeNoTag(includedDestinations_.getRaw(i)); } size += dataSize; size += 2 * getIncludedDestinationsList().size(); } { int dataSize = 0; for (int i = 0; i < excludedDestinations_.size(); i++) { dataSize += computeStringSizeNoTag(excludedDestinations_.getRaw(i)); } size += dataSize; size += 2 * getExcludedDestinationsList().size(); } if (((bitField1_ & 0x00000004) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(45, pause_); } if (((bitField1_ & 0x00000008) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(46, customLabel0_); } if (((bitField1_ & 0x00000010) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(47, customLabel1_); } if (((bitField1_ & 0x00000020) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(48, customLabel2_); } if (((bitField1_ & 0x00000040) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(49, customLabel3_); } if (((bitField1_ & 0x00000080) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(50, customLabel4_); } if (((bitField1_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize( 51, getHeadlineOfferInstallment()); } if (((bitField1_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize( 52, getHeadlineOfferSubscriptionCost()); } 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.shopping.css.v1.Attributes)) { return super.equals(obj); } com.google.shopping.css.v1.Attributes other = (com.google.shopping.css.v1.Attributes) obj; if (hasCppLink() != other.hasCppLink()) return false; if (hasCppLink()) { if (!getCppLink().equals(other.getCppLink())) return false; } if (hasCppMobileLink() != other.hasCppMobileLink()) return false; if (hasCppMobileLink()) { if (!getCppMobileLink().equals(other.getCppMobileLink())) return false; } if (hasCppAdsRedirect() != other.hasCppAdsRedirect()) return false; if (hasCppAdsRedirect()) { if (!getCppAdsRedirect().equals(other.getCppAdsRedirect())) return false; } if (hasLowPrice() != other.hasLowPrice()) return false; if (hasLowPrice()) { if (!getLowPrice().equals(other.getLowPrice())) return false; } if (hasHighPrice() != other.hasHighPrice()) return false; if (hasHighPrice()) { if (!getHighPrice().equals(other.getHighPrice())) return false; } if (hasNumberOfOffers() != other.hasNumberOfOffers()) return false; if (hasNumberOfOffers()) { if (getNumberOfOffers() != other.getNumberOfOffers()) return false; } if (hasHeadlineOfferCondition() != other.hasHeadlineOfferCondition()) return false; if (hasHeadlineOfferCondition()) { if (!getHeadlineOfferCondition().equals(other.getHeadlineOfferCondition())) return false; } if (hasHeadlineOfferPrice() != other.hasHeadlineOfferPrice()) return false; if (hasHeadlineOfferPrice()) { if (!getHeadlineOfferPrice().equals(other.getHeadlineOfferPrice())) return false; } if (hasHeadlineOfferLink() != other.hasHeadlineOfferLink()) return false; if (hasHeadlineOfferLink()) { if (!getHeadlineOfferLink().equals(other.getHeadlineOfferLink())) return false; } if (hasHeadlineOfferMobileLink() != other.hasHeadlineOfferMobileLink()) return false; if (hasHeadlineOfferMobileLink()) { if (!getHeadlineOfferMobileLink().equals(other.getHeadlineOfferMobileLink())) return false; } if (hasHeadlineOfferShippingPrice() != other.hasHeadlineOfferShippingPrice()) return false; if (hasHeadlineOfferShippingPrice()) { if (!getHeadlineOfferShippingPrice().equals(other.getHeadlineOfferShippingPrice())) return false; } if (hasTitle() != other.hasTitle()) return false; if (hasTitle()) { if (!getTitle().equals(other.getTitle())) return false; } if (hasImageLink() != other.hasImageLink()) return false; if (hasImageLink()) { if (!getImageLink().equals(other.getImageLink())) return false; } if (!getAdditionalImageLinksList().equals(other.getAdditionalImageLinksList())) return false; if (hasDescription() != other.hasDescription()) return false; if (hasDescription()) { if (!getDescription().equals(other.getDescription())) return false; } if (hasBrand() != other.hasBrand()) return false; if (hasBrand()) { if (!getBrand().equals(other.getBrand())) return false; } if (hasMpn() != other.hasMpn()) return false; if (hasMpn()) { if (!getMpn().equals(other.getMpn())) return false; } if (hasGtin() != other.hasGtin()) return false; if (hasGtin()) { if (!getGtin().equals(other.getGtin())) return false; } if (!getProductTypesList().equals(other.getProductTypesList())) return false; if (hasGoogleProductCategory() != other.hasGoogleProductCategory()) return false; if (hasGoogleProductCategory()) { if (!getGoogleProductCategory().equals(other.getGoogleProductCategory())) return false; } if (hasAdult() != other.hasAdult()) return false; if (hasAdult()) { if (getAdult() != other.getAdult()) return false; } if (hasMultipack() != other.hasMultipack()) return false; if (hasMultipack()) { if (getMultipack() != other.getMultipack()) return false; } if (hasIsBundle() != other.hasIsBundle()) return false; if (hasIsBundle()) { if (getIsBundle() != other.getIsBundle()) return false; } if (hasAgeGroup() != other.hasAgeGroup()) return false; if (hasAgeGroup()) { if (!getAgeGroup().equals(other.getAgeGroup())) return false; } if (hasColor() != other.hasColor()) return false; if (hasColor()) { if (!getColor().equals(other.getColor())) return false; } if (hasGender() != other.hasGender()) return false; if (hasGender()) { if (!getGender().equals(other.getGender())) return false; } if (hasMaterial() != other.hasMaterial()) return false; if (hasMaterial()) { if (!getMaterial().equals(other.getMaterial())) return false; } if (hasPattern() != other.hasPattern()) return false; if (hasPattern()) { if (!getPattern().equals(other.getPattern())) return false; } if (hasSize() != other.hasSize()) return false; if (hasSize()) { if (!getSize().equals(other.getSize())) return false; } if (hasSizeSystem() != other.hasSizeSystem()) return false; if (hasSizeSystem()) { if (!getSizeSystem().equals(other.getSizeSystem())) return false; } if (!getSizeTypesList().equals(other.getSizeTypesList())) return false; if (hasItemGroupId() != other.hasItemGroupId()) return false; if (hasItemGroupId()) { if (!getItemGroupId().equals(other.getItemGroupId())) return false; } if (!getProductDetailsList().equals(other.getProductDetailsList())) return false; if (hasProductWeight() != other.hasProductWeight()) return false; if (hasProductWeight()) { if (!getProductWeight().equals(other.getProductWeight())) return false; } if (hasProductLength() != other.hasProductLength()) return false; if (hasProductLength()) { if (!getProductLength().equals(other.getProductLength())) return false; } if (hasProductWidth() != other.hasProductWidth()) return false; if (hasProductWidth()) { if (!getProductWidth().equals(other.getProductWidth())) return false; } if (hasProductHeight() != other.hasProductHeight()) return false; if (hasProductHeight()) { if (!getProductHeight().equals(other.getProductHeight())) return false; } if (!getProductHighlightsList().equals(other.getProductHighlightsList())) return false; if (!getCertificationsList().equals(other.getCertificationsList())) return false; if (hasExpirationDate() != other.hasExpirationDate()) return false; if (hasExpirationDate()) { if (!getExpirationDate().equals(other.getExpirationDate())) return false; } if (!getIncludedDestinationsList().equals(other.getIncludedDestinationsList())) return false; if (!getExcludedDestinationsList().equals(other.getExcludedDestinationsList())) return false; if (hasPause() != other.hasPause()) return false; if (hasPause()) { if (!getPause().equals(other.getPause())) return false; } if (hasCustomLabel0() != other.hasCustomLabel0()) return false; if (hasCustomLabel0()) { if (!getCustomLabel0().equals(other.getCustomLabel0())) return false; } if (hasCustomLabel1() != other.hasCustomLabel1()) return false; if (hasCustomLabel1()) { if (!getCustomLabel1().equals(other.getCustomLabel1())) return false; } if (hasCustomLabel2() != other.hasCustomLabel2()) return false; if (hasCustomLabel2()) { if (!getCustomLabel2().equals(other.getCustomLabel2())) return false; } if (hasCustomLabel3() != other.hasCustomLabel3()) return false; if (hasCustomLabel3()) { if (!getCustomLabel3().equals(other.getCustomLabel3())) return false; } if (hasCustomLabel4() != other.hasCustomLabel4()) return false; if (hasCustomLabel4()) { if (!getCustomLabel4().equals(other.getCustomLabel4())) return false; } if (hasHeadlineOfferInstallment() != other.hasHeadlineOfferInstallment()) return false; if (hasHeadlineOfferInstallment()) { if (!getHeadlineOfferInstallment().equals(other.getHeadlineOfferInstallment())) return false; } if (hasHeadlineOfferSubscriptionCost() != other.hasHeadlineOfferSubscriptionCost()) return false; if (hasHeadlineOfferSubscriptionCost()) { if (!getHeadlineOfferSubscriptionCost().equals(other.getHeadlineOfferSubscriptionCost())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasCppLink()) { hash = (37 * hash) + CPP_LINK_FIELD_NUMBER; hash = (53 * hash) + getCppLink().hashCode(); } if (hasCppMobileLink()) { hash = (37 * hash) + CPP_MOBILE_LINK_FIELD_NUMBER; hash = (53 * hash) + getCppMobileLink().hashCode(); } if (hasCppAdsRedirect()) { hash = (37 * hash) + CPP_ADS_REDIRECT_FIELD_NUMBER; hash = (53 * hash) + getCppAdsRedirect().hashCode(); } if (hasLowPrice()) { hash = (37 * hash) + LOW_PRICE_FIELD_NUMBER; hash = (53 * hash) + getLowPrice().hashCode(); } if (hasHighPrice()) { hash = (37 * hash) + HIGH_PRICE_FIELD_NUMBER; hash = (53 * hash) + getHighPrice().hashCode(); } if (hasNumberOfOffers()) { hash = (37 * hash) + NUMBER_OF_OFFERS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getNumberOfOffers()); } if (hasHeadlineOfferCondition()) { hash = (37 * hash) + HEADLINE_OFFER_CONDITION_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferCondition().hashCode(); } if (hasHeadlineOfferPrice()) { hash = (37 * hash) + HEADLINE_OFFER_PRICE_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferPrice().hashCode(); } if (hasHeadlineOfferLink()) { hash = (37 * hash) + HEADLINE_OFFER_LINK_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferLink().hashCode(); } if (hasHeadlineOfferMobileLink()) { hash = (37 * hash) + HEADLINE_OFFER_MOBILE_LINK_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferMobileLink().hashCode(); } if (hasHeadlineOfferShippingPrice()) { hash = (37 * hash) + HEADLINE_OFFER_SHIPPING_PRICE_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferShippingPrice().hashCode(); } if (hasTitle()) { hash = (37 * hash) + TITLE_FIELD_NUMBER; hash = (53 * hash) + getTitle().hashCode(); } if (hasImageLink()) { hash = (37 * hash) + IMAGE_LINK_FIELD_NUMBER; hash = (53 * hash) + getImageLink().hashCode(); } if (getAdditionalImageLinksCount() > 0) { hash = (37 * hash) + ADDITIONAL_IMAGE_LINKS_FIELD_NUMBER; hash = (53 * hash) + getAdditionalImageLinksList().hashCode(); } if (hasDescription()) { hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getDescription().hashCode(); } if (hasBrand()) { hash = (37 * hash) + BRAND_FIELD_NUMBER; hash = (53 * hash) + getBrand().hashCode(); } if (hasMpn()) { hash = (37 * hash) + MPN_FIELD_NUMBER; hash = (53 * hash) + getMpn().hashCode(); } if (hasGtin()) { hash = (37 * hash) + GTIN_FIELD_NUMBER; hash = (53 * hash) + getGtin().hashCode(); } if (getProductTypesCount() > 0) { hash = (37 * hash) + PRODUCT_TYPES_FIELD_NUMBER; hash = (53 * hash) + getProductTypesList().hashCode(); } if (hasGoogleProductCategory()) { hash = (37 * hash) + GOOGLE_PRODUCT_CATEGORY_FIELD_NUMBER; hash = (53 * hash) + getGoogleProductCategory().hashCode(); } if (hasAdult()) { hash = (37 * hash) + ADULT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAdult()); } if (hasMultipack()) { hash = (37 * hash) + MULTIPACK_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getMultipack()); } if (hasIsBundle()) { hash = (37 * hash) + IS_BUNDLE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsBundle()); } if (hasAgeGroup()) { hash = (37 * hash) + AGE_GROUP_FIELD_NUMBER; hash = (53 * hash) + getAgeGroup().hashCode(); } if (hasColor()) { hash = (37 * hash) + COLOR_FIELD_NUMBER; hash = (53 * hash) + getColor().hashCode(); } if (hasGender()) { hash = (37 * hash) + GENDER_FIELD_NUMBER; hash = (53 * hash) + getGender().hashCode(); } if (hasMaterial()) { hash = (37 * hash) + MATERIAL_FIELD_NUMBER; hash = (53 * hash) + getMaterial().hashCode(); } if (hasPattern()) { hash = (37 * hash) + PATTERN_FIELD_NUMBER; hash = (53 * hash) + getPattern().hashCode(); } if (hasSize()) { hash = (37 * hash) + SIZE_FIELD_NUMBER; hash = (53 * hash) + getSize().hashCode(); } if (hasSizeSystem()) { hash = (37 * hash) + SIZE_SYSTEM_FIELD_NUMBER; hash = (53 * hash) + getSizeSystem().hashCode(); } if (getSizeTypesCount() > 0) { hash = (37 * hash) + SIZE_TYPES_FIELD_NUMBER; hash = (53 * hash) + getSizeTypesList().hashCode(); } if (hasItemGroupId()) { hash = (37 * hash) + ITEM_GROUP_ID_FIELD_NUMBER; hash = (53 * hash) + getItemGroupId().hashCode(); } if (getProductDetailsCount() > 0) { hash = (37 * hash) + PRODUCT_DETAILS_FIELD_NUMBER; hash = (53 * hash) + getProductDetailsList().hashCode(); } if (hasProductWeight()) { hash = (37 * hash) + PRODUCT_WEIGHT_FIELD_NUMBER; hash = (53 * hash) + getProductWeight().hashCode(); } if (hasProductLength()) { hash = (37 * hash) + PRODUCT_LENGTH_FIELD_NUMBER; hash = (53 * hash) + getProductLength().hashCode(); } if (hasProductWidth()) { hash = (37 * hash) + PRODUCT_WIDTH_FIELD_NUMBER; hash = (53 * hash) + getProductWidth().hashCode(); } if (hasProductHeight()) { hash = (37 * hash) + PRODUCT_HEIGHT_FIELD_NUMBER; hash = (53 * hash) + getProductHeight().hashCode(); } if (getProductHighlightsCount() > 0) { hash = (37 * hash) + PRODUCT_HIGHLIGHTS_FIELD_NUMBER; hash = (53 * hash) + getProductHighlightsList().hashCode(); } if (getCertificationsCount() > 0) { hash = (37 * hash) + CERTIFICATIONS_FIELD_NUMBER; hash = (53 * hash) + getCertificationsList().hashCode(); } if (hasExpirationDate()) { hash = (37 * hash) + EXPIRATION_DATE_FIELD_NUMBER; hash = (53 * hash) + getExpirationDate().hashCode(); } if (getIncludedDestinationsCount() > 0) { hash = (37 * hash) + INCLUDED_DESTINATIONS_FIELD_NUMBER; hash = (53 * hash) + getIncludedDestinationsList().hashCode(); } if (getExcludedDestinationsCount() > 0) { hash = (37 * hash) + EXCLUDED_DESTINATIONS_FIELD_NUMBER; hash = (53 * hash) + getExcludedDestinationsList().hashCode(); } if (hasPause()) { hash = (37 * hash) + PAUSE_FIELD_NUMBER; hash = (53 * hash) + getPause().hashCode(); } if (hasCustomLabel0()) { hash = (37 * hash) + CUSTOM_LABEL_0_FIELD_NUMBER; hash = (53 * hash) + getCustomLabel0().hashCode(); } if (hasCustomLabel1()) { hash = (37 * hash) + CUSTOM_LABEL_1_FIELD_NUMBER; hash = (53 * hash) + getCustomLabel1().hashCode(); } if (hasCustomLabel2()) { hash = (37 * hash) + CUSTOM_LABEL_2_FIELD_NUMBER; hash = (53 * hash) + getCustomLabel2().hashCode(); } if (hasCustomLabel3()) { hash = (37 * hash) + CUSTOM_LABEL_3_FIELD_NUMBER; hash = (53 * hash) + getCustomLabel3().hashCode(); } if (hasCustomLabel4()) { hash = (37 * hash) + CUSTOM_LABEL_4_FIELD_NUMBER; hash = (53 * hash) + getCustomLabel4().hashCode(); } if (hasHeadlineOfferInstallment()) { hash = (37 * hash) + HEADLINE_OFFER_INSTALLMENT_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferInstallment().hashCode(); } if (hasHeadlineOfferSubscriptionCost()) { hash = (37 * hash) + HEADLINE_OFFER_SUBSCRIPTION_COST_FIELD_NUMBER; hash = (53 * hash) + getHeadlineOfferSubscriptionCost().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.shopping.css.v1.Attributes parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.shopping.css.v1.Attributes parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.shopping.css.v1.Attributes parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.shopping.css.v1.Attributes 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.shopping.css.v1.Attributes parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.shopping.css.v1.Attributes parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.shopping.css.v1.Attributes parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.shopping.css.v1.Attributes 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.shopping.css.v1.Attributes parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.shopping.css.v1.Attributes 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.shopping.css.v1.Attributes parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.shopping.css.v1.Attributes 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.shopping.css.v1.Attributes 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; } /** * * *
   * Attributes for CSS Product.
   * 
* * Protobuf type {@code google.shopping.css.v1.Attributes} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.shopping.css.v1.Attributes) com.google.shopping.css.v1.AttributesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.shopping.css.v1.CssProductCommonProto .internal_static_google_shopping_css_v1_Attributes_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.shopping.css.v1.CssProductCommonProto .internal_static_google_shopping_css_v1_Attributes_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.shopping.css.v1.Attributes.class, com.google.shopping.css.v1.Attributes.Builder.class); } // Construct using com.google.shopping.css.v1.Attributes.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getLowPriceFieldBuilder(); getHighPriceFieldBuilder(); getHeadlineOfferPriceFieldBuilder(); getHeadlineOfferShippingPriceFieldBuilder(); getProductDetailsFieldBuilder(); getProductWeightFieldBuilder(); getProductLengthFieldBuilder(); getProductWidthFieldBuilder(); getProductHeightFieldBuilder(); getCertificationsFieldBuilder(); getExpirationDateFieldBuilder(); getHeadlineOfferInstallmentFieldBuilder(); getHeadlineOfferSubscriptionCostFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; bitField1_ = 0; cppLink_ = ""; cppMobileLink_ = ""; cppAdsRedirect_ = ""; lowPrice_ = null; if (lowPriceBuilder_ != null) { lowPriceBuilder_.dispose(); lowPriceBuilder_ = null; } highPrice_ = null; if (highPriceBuilder_ != null) { highPriceBuilder_.dispose(); highPriceBuilder_ = null; } numberOfOffers_ = 0L; headlineOfferCondition_ = ""; headlineOfferPrice_ = null; if (headlineOfferPriceBuilder_ != null) { headlineOfferPriceBuilder_.dispose(); headlineOfferPriceBuilder_ = null; } headlineOfferLink_ = ""; headlineOfferMobileLink_ = ""; headlineOfferShippingPrice_ = null; if (headlineOfferShippingPriceBuilder_ != null) { headlineOfferShippingPriceBuilder_.dispose(); headlineOfferShippingPriceBuilder_ = null; } title_ = ""; imageLink_ = ""; additionalImageLinks_ = com.google.protobuf.LazyStringArrayList.emptyList(); description_ = ""; brand_ = ""; mpn_ = ""; gtin_ = ""; productTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); googleProductCategory_ = ""; adult_ = false; multipack_ = 0L; isBundle_ = false; ageGroup_ = ""; color_ = ""; gender_ = ""; material_ = ""; pattern_ = ""; size_ = ""; sizeSystem_ = ""; sizeTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); itemGroupId_ = ""; if (productDetailsBuilder_ == null) { productDetails_ = java.util.Collections.emptyList(); } else { productDetails_ = null; productDetailsBuilder_.clear(); } bitField1_ = (bitField1_ & ~0x00000001); productWeight_ = null; if (productWeightBuilder_ != null) { productWeightBuilder_.dispose(); productWeightBuilder_ = null; } productLength_ = null; if (productLengthBuilder_ != null) { productLengthBuilder_.dispose(); productLengthBuilder_ = null; } productWidth_ = null; if (productWidthBuilder_ != null) { productWidthBuilder_.dispose(); productWidthBuilder_ = null; } productHeight_ = null; if (productHeightBuilder_ != null) { productHeightBuilder_.dispose(); productHeightBuilder_ = null; } productHighlights_ = com.google.protobuf.LazyStringArrayList.emptyList(); if (certificationsBuilder_ == null) { certifications_ = java.util.Collections.emptyList(); } else { certifications_ = null; certificationsBuilder_.clear(); } bitField1_ = (bitField1_ & ~0x00000040); expirationDate_ = null; if (expirationDateBuilder_ != null) { expirationDateBuilder_.dispose(); expirationDateBuilder_ = null; } includedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); excludedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); pause_ = ""; customLabel0_ = ""; customLabel1_ = ""; customLabel2_ = ""; customLabel3_ = ""; customLabel4_ = ""; headlineOfferInstallment_ = null; if (headlineOfferInstallmentBuilder_ != null) { headlineOfferInstallmentBuilder_.dispose(); headlineOfferInstallmentBuilder_ = null; } headlineOfferSubscriptionCost_ = null; if (headlineOfferSubscriptionCostBuilder_ != null) { headlineOfferSubscriptionCostBuilder_.dispose(); headlineOfferSubscriptionCostBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.shopping.css.v1.CssProductCommonProto .internal_static_google_shopping_css_v1_Attributes_descriptor; } @java.lang.Override public com.google.shopping.css.v1.Attributes getDefaultInstanceForType() { return com.google.shopping.css.v1.Attributes.getDefaultInstance(); } @java.lang.Override public com.google.shopping.css.v1.Attributes build() { com.google.shopping.css.v1.Attributes result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.shopping.css.v1.Attributes buildPartial() { com.google.shopping.css.v1.Attributes result = new com.google.shopping.css.v1.Attributes(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } if (bitField1_ != 0) { buildPartial1(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.shopping.css.v1.Attributes result) { if (productDetailsBuilder_ == null) { if (((bitField1_ & 0x00000001) != 0)) { productDetails_ = java.util.Collections.unmodifiableList(productDetails_); bitField1_ = (bitField1_ & ~0x00000001); } result.productDetails_ = productDetails_; } else { result.productDetails_ = productDetailsBuilder_.build(); } if (certificationsBuilder_ == null) { if (((bitField1_ & 0x00000040) != 0)) { certifications_ = java.util.Collections.unmodifiableList(certifications_); bitField1_ = (bitField1_ & ~0x00000040); } result.certifications_ = certifications_; } else { result.certifications_ = certificationsBuilder_.build(); } } private void buildPartial0(com.google.shopping.css.v1.Attributes result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.cppLink_ = cppLink_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.cppMobileLink_ = cppMobileLink_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.cppAdsRedirect_ = cppAdsRedirect_; to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000008) != 0)) { result.lowPrice_ = lowPriceBuilder_ == null ? lowPrice_ : lowPriceBuilder_.build(); to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000010) != 0)) { result.highPrice_ = highPriceBuilder_ == null ? highPrice_ : highPriceBuilder_.build(); to_bitField0_ |= 0x00000010; } if (((from_bitField0_ & 0x00000020) != 0)) { result.numberOfOffers_ = numberOfOffers_; to_bitField0_ |= 0x00000020; } if (((from_bitField0_ & 0x00000040) != 0)) { result.headlineOfferCondition_ = headlineOfferCondition_; to_bitField0_ |= 0x00000040; } if (((from_bitField0_ & 0x00000080) != 0)) { result.headlineOfferPrice_ = headlineOfferPriceBuilder_ == null ? headlineOfferPrice_ : headlineOfferPriceBuilder_.build(); to_bitField0_ |= 0x00000080; } if (((from_bitField0_ & 0x00000100) != 0)) { result.headlineOfferLink_ = headlineOfferLink_; to_bitField0_ |= 0x00000100; } if (((from_bitField0_ & 0x00000200) != 0)) { result.headlineOfferMobileLink_ = headlineOfferMobileLink_; to_bitField0_ |= 0x00000200; } if (((from_bitField0_ & 0x00000400) != 0)) { result.headlineOfferShippingPrice_ = headlineOfferShippingPriceBuilder_ == null ? headlineOfferShippingPrice_ : headlineOfferShippingPriceBuilder_.build(); to_bitField0_ |= 0x00000400; } if (((from_bitField0_ & 0x00000800) != 0)) { result.title_ = title_; to_bitField0_ |= 0x00000800; } if (((from_bitField0_ & 0x00001000) != 0)) { result.imageLink_ = imageLink_; to_bitField0_ |= 0x00001000; } if (((from_bitField0_ & 0x00002000) != 0)) { additionalImageLinks_.makeImmutable(); result.additionalImageLinks_ = additionalImageLinks_; } if (((from_bitField0_ & 0x00004000) != 0)) { result.description_ = description_; to_bitField0_ |= 0x00002000; } if (((from_bitField0_ & 0x00008000) != 0)) { result.brand_ = brand_; to_bitField0_ |= 0x00004000; } if (((from_bitField0_ & 0x00010000) != 0)) { result.mpn_ = mpn_; to_bitField0_ |= 0x00008000; } if (((from_bitField0_ & 0x00020000) != 0)) { result.gtin_ = gtin_; to_bitField0_ |= 0x00010000; } if (((from_bitField0_ & 0x00040000) != 0)) { productTypes_.makeImmutable(); result.productTypes_ = productTypes_; } if (((from_bitField0_ & 0x00080000) != 0)) { result.googleProductCategory_ = googleProductCategory_; to_bitField0_ |= 0x00020000; } if (((from_bitField0_ & 0x00100000) != 0)) { result.adult_ = adult_; to_bitField0_ |= 0x00040000; } if (((from_bitField0_ & 0x00200000) != 0)) { result.multipack_ = multipack_; to_bitField0_ |= 0x00080000; } if (((from_bitField0_ & 0x00400000) != 0)) { result.isBundle_ = isBundle_; to_bitField0_ |= 0x00100000; } if (((from_bitField0_ & 0x00800000) != 0)) { result.ageGroup_ = ageGroup_; to_bitField0_ |= 0x00200000; } if (((from_bitField0_ & 0x01000000) != 0)) { result.color_ = color_; to_bitField0_ |= 0x00400000; } if (((from_bitField0_ & 0x02000000) != 0)) { result.gender_ = gender_; to_bitField0_ |= 0x00800000; } if (((from_bitField0_ & 0x04000000) != 0)) { result.material_ = material_; to_bitField0_ |= 0x01000000; } if (((from_bitField0_ & 0x08000000) != 0)) { result.pattern_ = pattern_; to_bitField0_ |= 0x02000000; } if (((from_bitField0_ & 0x10000000) != 0)) { result.size_ = size_; to_bitField0_ |= 0x04000000; } if (((from_bitField0_ & 0x20000000) != 0)) { result.sizeSystem_ = sizeSystem_; to_bitField0_ |= 0x08000000; } if (((from_bitField0_ & 0x40000000) != 0)) { sizeTypes_.makeImmutable(); result.sizeTypes_ = sizeTypes_; } if (((from_bitField0_ & 0x80000000) != 0)) { result.itemGroupId_ = itemGroupId_; to_bitField0_ |= 0x10000000; } result.bitField0_ |= to_bitField0_; } private void buildPartial1(com.google.shopping.css.v1.Attributes result) { int from_bitField1_ = bitField1_; int to_bitField0_ = 0; if (((from_bitField1_ & 0x00000002) != 0)) { result.productWeight_ = productWeightBuilder_ == null ? productWeight_ : productWeightBuilder_.build(); to_bitField0_ |= 0x20000000; } if (((from_bitField1_ & 0x00000004) != 0)) { result.productLength_ = productLengthBuilder_ == null ? productLength_ : productLengthBuilder_.build(); to_bitField0_ |= 0x40000000; } if (((from_bitField1_ & 0x00000008) != 0)) { result.productWidth_ = productWidthBuilder_ == null ? productWidth_ : productWidthBuilder_.build(); to_bitField0_ |= 0x80000000; } int to_bitField1_ = 0; if (((from_bitField1_ & 0x00000010) != 0)) { result.productHeight_ = productHeightBuilder_ == null ? productHeight_ : productHeightBuilder_.build(); to_bitField1_ |= 0x00000001; } if (((from_bitField1_ & 0x00000020) != 0)) { productHighlights_.makeImmutable(); result.productHighlights_ = productHighlights_; } if (((from_bitField1_ & 0x00000080) != 0)) { result.expirationDate_ = expirationDateBuilder_ == null ? expirationDate_ : expirationDateBuilder_.build(); to_bitField1_ |= 0x00000002; } if (((from_bitField1_ & 0x00000100) != 0)) { includedDestinations_.makeImmutable(); result.includedDestinations_ = includedDestinations_; } if (((from_bitField1_ & 0x00000200) != 0)) { excludedDestinations_.makeImmutable(); result.excludedDestinations_ = excludedDestinations_; } if (((from_bitField1_ & 0x00000400) != 0)) { result.pause_ = pause_; to_bitField1_ |= 0x00000004; } if (((from_bitField1_ & 0x00000800) != 0)) { result.customLabel0_ = customLabel0_; to_bitField1_ |= 0x00000008; } if (((from_bitField1_ & 0x00001000) != 0)) { result.customLabel1_ = customLabel1_; to_bitField1_ |= 0x00000010; } if (((from_bitField1_ & 0x00002000) != 0)) { result.customLabel2_ = customLabel2_; to_bitField1_ |= 0x00000020; } if (((from_bitField1_ & 0x00004000) != 0)) { result.customLabel3_ = customLabel3_; to_bitField1_ |= 0x00000040; } if (((from_bitField1_ & 0x00008000) != 0)) { result.customLabel4_ = customLabel4_; to_bitField1_ |= 0x00000080; } if (((from_bitField1_ & 0x00010000) != 0)) { result.headlineOfferInstallment_ = headlineOfferInstallmentBuilder_ == null ? headlineOfferInstallment_ : headlineOfferInstallmentBuilder_.build(); to_bitField1_ |= 0x00000100; } if (((from_bitField1_ & 0x00020000) != 0)) { result.headlineOfferSubscriptionCost_ = headlineOfferSubscriptionCostBuilder_ == null ? headlineOfferSubscriptionCost_ : headlineOfferSubscriptionCostBuilder_.build(); to_bitField1_ |= 0x00000200; } result.bitField0_ |= to_bitField0_; result.bitField1_ |= to_bitField1_; } @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.shopping.css.v1.Attributes) { return mergeFrom((com.google.shopping.css.v1.Attributes) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.shopping.css.v1.Attributes other) { if (other == com.google.shopping.css.v1.Attributes.getDefaultInstance()) return this; if (other.hasCppLink()) { cppLink_ = other.cppLink_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasCppMobileLink()) { cppMobileLink_ = other.cppMobileLink_; bitField0_ |= 0x00000002; onChanged(); } if (other.hasCppAdsRedirect()) { cppAdsRedirect_ = other.cppAdsRedirect_; bitField0_ |= 0x00000004; onChanged(); } if (other.hasLowPrice()) { mergeLowPrice(other.getLowPrice()); } if (other.hasHighPrice()) { mergeHighPrice(other.getHighPrice()); } if (other.hasNumberOfOffers()) { setNumberOfOffers(other.getNumberOfOffers()); } if (other.hasHeadlineOfferCondition()) { headlineOfferCondition_ = other.headlineOfferCondition_; bitField0_ |= 0x00000040; onChanged(); } if (other.hasHeadlineOfferPrice()) { mergeHeadlineOfferPrice(other.getHeadlineOfferPrice()); } if (other.hasHeadlineOfferLink()) { headlineOfferLink_ = other.headlineOfferLink_; bitField0_ |= 0x00000100; onChanged(); } if (other.hasHeadlineOfferMobileLink()) { headlineOfferMobileLink_ = other.headlineOfferMobileLink_; bitField0_ |= 0x00000200; onChanged(); } if (other.hasHeadlineOfferShippingPrice()) { mergeHeadlineOfferShippingPrice(other.getHeadlineOfferShippingPrice()); } if (other.hasTitle()) { title_ = other.title_; bitField0_ |= 0x00000800; onChanged(); } if (other.hasImageLink()) { imageLink_ = other.imageLink_; bitField0_ |= 0x00001000; onChanged(); } if (!other.additionalImageLinks_.isEmpty()) { if (additionalImageLinks_.isEmpty()) { additionalImageLinks_ = other.additionalImageLinks_; bitField0_ |= 0x00002000; } else { ensureAdditionalImageLinksIsMutable(); additionalImageLinks_.addAll(other.additionalImageLinks_); } onChanged(); } if (other.hasDescription()) { description_ = other.description_; bitField0_ |= 0x00004000; onChanged(); } if (other.hasBrand()) { brand_ = other.brand_; bitField0_ |= 0x00008000; onChanged(); } if (other.hasMpn()) { mpn_ = other.mpn_; bitField0_ |= 0x00010000; onChanged(); } if (other.hasGtin()) { gtin_ = other.gtin_; bitField0_ |= 0x00020000; onChanged(); } if (!other.productTypes_.isEmpty()) { if (productTypes_.isEmpty()) { productTypes_ = other.productTypes_; bitField0_ |= 0x00040000; } else { ensureProductTypesIsMutable(); productTypes_.addAll(other.productTypes_); } onChanged(); } if (other.hasGoogleProductCategory()) { googleProductCategory_ = other.googleProductCategory_; bitField0_ |= 0x00080000; onChanged(); } if (other.hasAdult()) { setAdult(other.getAdult()); } if (other.hasMultipack()) { setMultipack(other.getMultipack()); } if (other.hasIsBundle()) { setIsBundle(other.getIsBundle()); } if (other.hasAgeGroup()) { ageGroup_ = other.ageGroup_; bitField0_ |= 0x00800000; onChanged(); } if (other.hasColor()) { color_ = other.color_; bitField0_ |= 0x01000000; onChanged(); } if (other.hasGender()) { gender_ = other.gender_; bitField0_ |= 0x02000000; onChanged(); } if (other.hasMaterial()) { material_ = other.material_; bitField0_ |= 0x04000000; onChanged(); } if (other.hasPattern()) { pattern_ = other.pattern_; bitField0_ |= 0x08000000; onChanged(); } if (other.hasSize()) { size_ = other.size_; bitField0_ |= 0x10000000; onChanged(); } if (other.hasSizeSystem()) { sizeSystem_ = other.sizeSystem_; bitField0_ |= 0x20000000; onChanged(); } if (!other.sizeTypes_.isEmpty()) { if (sizeTypes_.isEmpty()) { sizeTypes_ = other.sizeTypes_; bitField0_ |= 0x40000000; } else { ensureSizeTypesIsMutable(); sizeTypes_.addAll(other.sizeTypes_); } onChanged(); } if (other.hasItemGroupId()) { itemGroupId_ = other.itemGroupId_; bitField0_ |= 0x80000000; onChanged(); } if (productDetailsBuilder_ == null) { if (!other.productDetails_.isEmpty()) { if (productDetails_.isEmpty()) { productDetails_ = other.productDetails_; bitField1_ = (bitField1_ & ~0x00000001); } else { ensureProductDetailsIsMutable(); productDetails_.addAll(other.productDetails_); } onChanged(); } } else { if (!other.productDetails_.isEmpty()) { if (productDetailsBuilder_.isEmpty()) { productDetailsBuilder_.dispose(); productDetailsBuilder_ = null; productDetails_ = other.productDetails_; bitField1_ = (bitField1_ & ~0x00000001); productDetailsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getProductDetailsFieldBuilder() : null; } else { productDetailsBuilder_.addAllMessages(other.productDetails_); } } } if (other.hasProductWeight()) { mergeProductWeight(other.getProductWeight()); } if (other.hasProductLength()) { mergeProductLength(other.getProductLength()); } if (other.hasProductWidth()) { mergeProductWidth(other.getProductWidth()); } if (other.hasProductHeight()) { mergeProductHeight(other.getProductHeight()); } if (!other.productHighlights_.isEmpty()) { if (productHighlights_.isEmpty()) { productHighlights_ = other.productHighlights_; bitField1_ |= 0x00000020; } else { ensureProductHighlightsIsMutable(); productHighlights_.addAll(other.productHighlights_); } onChanged(); } if (certificationsBuilder_ == null) { if (!other.certifications_.isEmpty()) { if (certifications_.isEmpty()) { certifications_ = other.certifications_; bitField1_ = (bitField1_ & ~0x00000040); } else { ensureCertificationsIsMutable(); certifications_.addAll(other.certifications_); } onChanged(); } } else { if (!other.certifications_.isEmpty()) { if (certificationsBuilder_.isEmpty()) { certificationsBuilder_.dispose(); certificationsBuilder_ = null; certifications_ = other.certifications_; bitField1_ = (bitField1_ & ~0x00000040); certificationsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getCertificationsFieldBuilder() : null; } else { certificationsBuilder_.addAllMessages(other.certifications_); } } } if (other.hasExpirationDate()) { mergeExpirationDate(other.getExpirationDate()); } if (!other.includedDestinations_.isEmpty()) { if (includedDestinations_.isEmpty()) { includedDestinations_ = other.includedDestinations_; bitField1_ |= 0x00000100; } else { ensureIncludedDestinationsIsMutable(); includedDestinations_.addAll(other.includedDestinations_); } onChanged(); } if (!other.excludedDestinations_.isEmpty()) { if (excludedDestinations_.isEmpty()) { excludedDestinations_ = other.excludedDestinations_; bitField1_ |= 0x00000200; } else { ensureExcludedDestinationsIsMutable(); excludedDestinations_.addAll(other.excludedDestinations_); } onChanged(); } if (other.hasPause()) { pause_ = other.pause_; bitField1_ |= 0x00000400; onChanged(); } if (other.hasCustomLabel0()) { customLabel0_ = other.customLabel0_; bitField1_ |= 0x00000800; onChanged(); } if (other.hasCustomLabel1()) { customLabel1_ = other.customLabel1_; bitField1_ |= 0x00001000; onChanged(); } if (other.hasCustomLabel2()) { customLabel2_ = other.customLabel2_; bitField1_ |= 0x00002000; onChanged(); } if (other.hasCustomLabel3()) { customLabel3_ = other.customLabel3_; bitField1_ |= 0x00004000; onChanged(); } if (other.hasCustomLabel4()) { customLabel4_ = other.customLabel4_; bitField1_ |= 0x00008000; onChanged(); } if (other.hasHeadlineOfferInstallment()) { mergeHeadlineOfferInstallment(other.getHeadlineOfferInstallment()); } if (other.hasHeadlineOfferSubscriptionCost()) { mergeHeadlineOfferSubscriptionCost(other.getHeadlineOfferSubscriptionCost()); } 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: { cppLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { cppMobileLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 18 case 26: { input.readMessage(getLowPriceFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000008; break; } // case 26 case 34: { input.readMessage(getHighPriceFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 34 case 40: { numberOfOffers_ = input.readInt64(); bitField0_ |= 0x00000020; break; } // case 40 case 50: { headlineOfferCondition_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000040; break; } // case 50 case 58: { input.readMessage( getHeadlineOfferPriceFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 58 case 66: { headlineOfferLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000100; break; } // case 66 case 74: { headlineOfferMobileLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000200; break; } // case 74 case 82: { title_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000800; break; } // case 82 case 90: { imageLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00001000; break; } // case 90 case 98: { java.lang.String s = input.readStringRequireUtf8(); ensureAdditionalImageLinksIsMutable(); additionalImageLinks_.add(s); break; } // case 98 case 106: { description_ = input.readStringRequireUtf8(); bitField0_ |= 0x00004000; break; } // case 106 case 114: { brand_ = input.readStringRequireUtf8(); bitField0_ |= 0x00008000; break; } // case 114 case 122: { mpn_ = input.readStringRequireUtf8(); bitField0_ |= 0x00010000; break; } // case 122 case 130: { gtin_ = input.readStringRequireUtf8(); bitField0_ |= 0x00020000; break; } // case 130 case 138: { googleProductCategory_ = input.readStringRequireUtf8(); bitField0_ |= 0x00080000; break; } // case 138 case 144: { adult_ = input.readBool(); bitField0_ |= 0x00100000; break; } // case 144 case 152: { multipack_ = input.readInt64(); bitField0_ |= 0x00200000; break; } // case 152 case 160: { isBundle_ = input.readBool(); bitField0_ |= 0x00400000; break; } // case 160 case 170: { ageGroup_ = input.readStringRequireUtf8(); bitField0_ |= 0x00800000; break; } // case 170 case 178: { color_ = input.readStringRequireUtf8(); bitField0_ |= 0x01000000; break; } // case 178 case 186: { gender_ = input.readStringRequireUtf8(); bitField0_ |= 0x02000000; break; } // case 186 case 194: { material_ = input.readStringRequireUtf8(); bitField0_ |= 0x04000000; break; } // case 194 case 202: { pattern_ = input.readStringRequireUtf8(); bitField0_ |= 0x08000000; break; } // case 202 case 210: { size_ = input.readStringRequireUtf8(); bitField0_ |= 0x10000000; break; } // case 210 case 218: { sizeSystem_ = input.readStringRequireUtf8(); bitField0_ |= 0x20000000; break; } // case 218 case 226: { java.lang.String s = input.readStringRequireUtf8(); ensureSizeTypesIsMutable(); sizeTypes_.add(s); break; } // case 226 case 234: { itemGroupId_ = input.readStringRequireUtf8(); bitField0_ |= 0x80000000; break; } // case 234 case 242: { com.google.shopping.css.v1.ProductDetail m = input.readMessage( com.google.shopping.css.v1.ProductDetail.parser(), extensionRegistry); if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); productDetails_.add(m); } else { productDetailsBuilder_.addMessage(m); } break; } // case 242 case 250: { input.readMessage(getProductWeightFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000002; break; } // case 250 case 258: { input.readMessage(getProductLengthFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000004; break; } // case 258 case 266: { input.readMessage(getProductWidthFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000008; break; } // case 266 case 274: { input.readMessage(getProductHeightFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000010; break; } // case 274 case 282: { java.lang.String s = input.readStringRequireUtf8(); ensureProductHighlightsIsMutable(); productHighlights_.add(s); break; } // case 282 case 290: { java.lang.String s = input.readStringRequireUtf8(); ensureProductTypesIsMutable(); productTypes_.add(s); break; } // case 290 case 314: { com.google.shopping.css.v1.Certification m = input.readMessage( com.google.shopping.css.v1.Certification.parser(), extensionRegistry); if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); certifications_.add(m); } else { certificationsBuilder_.addMessage(m); } break; } // case 314 case 322: { input.readMessage(getExpirationDateFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00000080; break; } // case 322 case 330: { input.readMessage( getHeadlineOfferShippingPriceFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000400; break; } // case 330 case 338: { cppAdsRedirect_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000004; break; } // case 338 case 346: { java.lang.String s = input.readStringRequireUtf8(); ensureIncludedDestinationsIsMutable(); includedDestinations_.add(s); break; } // case 346 case 354: { java.lang.String s = input.readStringRequireUtf8(); ensureExcludedDestinationsIsMutable(); excludedDestinations_.add(s); break; } // case 354 case 362: { pause_ = input.readStringRequireUtf8(); bitField1_ |= 0x00000400; break; } // case 362 case 370: { customLabel0_ = input.readStringRequireUtf8(); bitField1_ |= 0x00000800; break; } // case 370 case 378: { customLabel1_ = input.readStringRequireUtf8(); bitField1_ |= 0x00001000; break; } // case 378 case 386: { customLabel2_ = input.readStringRequireUtf8(); bitField1_ |= 0x00002000; break; } // case 386 case 394: { customLabel3_ = input.readStringRequireUtf8(); bitField1_ |= 0x00004000; break; } // case 394 case 402: { customLabel4_ = input.readStringRequireUtf8(); bitField1_ |= 0x00008000; break; } // case 402 case 410: { input.readMessage( getHeadlineOfferInstallmentFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00010000; break; } // case 410 case 418: { input.readMessage( getHeadlineOfferSubscriptionCostFieldBuilder().getBuilder(), extensionRegistry); bitField1_ |= 0x00020000; break; } // case 418 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int bitField1_; private java.lang.Object cppLink_ = ""; /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @return Whether the cppLink field is set. */ public boolean hasCppLink() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @return The cppLink. */ public java.lang.String getCppLink() { java.lang.Object ref = cppLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); cppLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @return The bytes for cppLink. */ public com.google.protobuf.ByteString getCppLinkBytes() { java.lang.Object ref = cppLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @param value The cppLink to set. * @return This builder for chaining. */ public Builder setCppLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } cppLink_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @return This builder for chaining. */ public Builder clearCppLink() { cppLink_ = getDefaultInstance().getCppLink(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
     * URL directly linking to your the Product Detail Page of the CSS.
     * 
* * optional string cpp_link = 1; * * @param value The bytes for cppLink to set. * @return This builder for chaining. */ public Builder setCppLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); cppLink_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object cppMobileLink_ = ""; /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @return Whether the cppMobileLink field is set. */ public boolean hasCppMobileLink() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @return The cppMobileLink. */ public java.lang.String getCppMobileLink() { java.lang.Object ref = cppMobileLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); cppMobileLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @return The bytes for cppMobileLink. */ public com.google.protobuf.ByteString getCppMobileLinkBytes() { java.lang.Object ref = cppMobileLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppMobileLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @param value The cppMobileLink to set. * @return This builder for chaining. */ public Builder setCppMobileLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } cppMobileLink_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @return This builder for chaining. */ public Builder clearCppMobileLink() { cppMobileLink_ = getDefaultInstance().getCppMobileLink(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** * * *
     * URL for the mobile-optimized version of the Product Detail Page of the CSS.
     * 
* * optional string cpp_mobile_link = 2; * * @param value The bytes for cppMobileLink to set. * @return This builder for chaining. */ public Builder setCppMobileLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); cppMobileLink_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } private java.lang.Object cppAdsRedirect_ = ""; /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @return Whether the cppAdsRedirect field is set. */ public boolean hasCppAdsRedirect() { return ((bitField0_ & 0x00000004) != 0); } /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @return The cppAdsRedirect. */ public java.lang.String getCppAdsRedirect() { java.lang.Object ref = cppAdsRedirect_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); cppAdsRedirect_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @return The bytes for cppAdsRedirect. */ public com.google.protobuf.ByteString getCppAdsRedirectBytes() { java.lang.Object ref = cppAdsRedirect_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); cppAdsRedirect_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @param value The cppAdsRedirect to set. * @return This builder for chaining. */ public Builder setCppAdsRedirect(java.lang.String value) { if (value == null) { throw new NullPointerException(); } cppAdsRedirect_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @return This builder for chaining. */ public Builder clearCppAdsRedirect() { cppAdsRedirect_ = getDefaultInstance().getCppAdsRedirect(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** * * *
     * Allows advertisers to override the item URL when the product is shown
     * within the context of Product Ads.
     * 
* * optional string cpp_ads_redirect = 42; * * @param value The bytes for cppAdsRedirect to set. * @return This builder for chaining. */ public Builder setCppAdsRedirectBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); cppAdsRedirect_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } private com.google.shopping.type.Price lowPrice_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> lowPriceBuilder_; /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; * * @return Whether the lowPrice field is set. */ public boolean hasLowPrice() { return ((bitField0_ & 0x00000008) != 0); } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; * * @return The lowPrice. */ public com.google.shopping.type.Price getLowPrice() { if (lowPriceBuilder_ == null) { return lowPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : lowPrice_; } else { return lowPriceBuilder_.getMessage(); } } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public Builder setLowPrice(com.google.shopping.type.Price value) { if (lowPriceBuilder_ == null) { if (value == null) { throw new NullPointerException(); } lowPrice_ = value; } else { lowPriceBuilder_.setMessage(value); } bitField0_ |= 0x00000008; onChanged(); return this; } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public Builder setLowPrice(com.google.shopping.type.Price.Builder builderForValue) { if (lowPriceBuilder_ == null) { lowPrice_ = builderForValue.build(); } else { lowPriceBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000008; onChanged(); return this; } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public Builder mergeLowPrice(com.google.shopping.type.Price value) { if (lowPriceBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0) && lowPrice_ != null && lowPrice_ != com.google.shopping.type.Price.getDefaultInstance()) { getLowPriceBuilder().mergeFrom(value); } else { lowPrice_ = value; } } else { lowPriceBuilder_.mergeFrom(value); } if (lowPrice_ != null) { bitField0_ |= 0x00000008; onChanged(); } return this; } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public Builder clearLowPrice() { bitField0_ = (bitField0_ & ~0x00000008); lowPrice_ = null; if (lowPriceBuilder_ != null) { lowPriceBuilder_.dispose(); lowPriceBuilder_ = null; } onChanged(); return this; } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public com.google.shopping.type.Price.Builder getLowPriceBuilder() { bitField0_ |= 0x00000008; onChanged(); return getLowPriceFieldBuilder().getBuilder(); } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ public com.google.shopping.type.PriceOrBuilder getLowPriceOrBuilder() { if (lowPriceBuilder_ != null) { return lowPriceBuilder_.getMessageOrBuilder(); } else { return lowPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : lowPrice_; } } /** * * *
     * Low Price of the aggregate offer.
     * 
* * .google.shopping.type.Price low_price = 3; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> getLowPriceFieldBuilder() { if (lowPriceBuilder_ == null) { lowPriceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder>( getLowPrice(), getParentForChildren(), isClean()); lowPrice_ = null; } return lowPriceBuilder_; } private com.google.shopping.type.Price highPrice_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> highPriceBuilder_; /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; * * @return Whether the highPrice field is set. */ public boolean hasHighPrice() { return ((bitField0_ & 0x00000010) != 0); } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; * * @return The highPrice. */ public com.google.shopping.type.Price getHighPrice() { if (highPriceBuilder_ == null) { return highPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : highPrice_; } else { return highPriceBuilder_.getMessage(); } } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public Builder setHighPrice(com.google.shopping.type.Price value) { if (highPriceBuilder_ == null) { if (value == null) { throw new NullPointerException(); } highPrice_ = value; } else { highPriceBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public Builder setHighPrice(com.google.shopping.type.Price.Builder builderForValue) { if (highPriceBuilder_ == null) { highPrice_ = builderForValue.build(); } else { highPriceBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public Builder mergeHighPrice(com.google.shopping.type.Price value) { if (highPriceBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && highPrice_ != null && highPrice_ != com.google.shopping.type.Price.getDefaultInstance()) { getHighPriceBuilder().mergeFrom(value); } else { highPrice_ = value; } } else { highPriceBuilder_.mergeFrom(value); } if (highPrice_ != null) { bitField0_ |= 0x00000010; onChanged(); } return this; } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public Builder clearHighPrice() { bitField0_ = (bitField0_ & ~0x00000010); highPrice_ = null; if (highPriceBuilder_ != null) { highPriceBuilder_.dispose(); highPriceBuilder_ = null; } onChanged(); return this; } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public com.google.shopping.type.Price.Builder getHighPriceBuilder() { bitField0_ |= 0x00000010; onChanged(); return getHighPriceFieldBuilder().getBuilder(); } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ public com.google.shopping.type.PriceOrBuilder getHighPriceOrBuilder() { if (highPriceBuilder_ != null) { return highPriceBuilder_.getMessageOrBuilder(); } else { return highPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : highPrice_; } } /** * * *
     * High Price of the aggregate offer.
     * 
* * .google.shopping.type.Price high_price = 4; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> getHighPriceFieldBuilder() { if (highPriceBuilder_ == null) { highPriceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder>( getHighPrice(), getParentForChildren(), isClean()); highPrice_ = null; } return highPriceBuilder_; } private long numberOfOffers_; /** * * *
     * The number of aggregate offers.
     * 
* * optional int64 number_of_offers = 5; * * @return Whether the numberOfOffers field is set. */ @java.lang.Override public boolean hasNumberOfOffers() { return ((bitField0_ & 0x00000020) != 0); } /** * * *
     * The number of aggregate offers.
     * 
* * optional int64 number_of_offers = 5; * * @return The numberOfOffers. */ @java.lang.Override public long getNumberOfOffers() { return numberOfOffers_; } /** * * *
     * The number of aggregate offers.
     * 
* * optional int64 number_of_offers = 5; * * @param value The numberOfOffers to set. * @return This builder for chaining. */ public Builder setNumberOfOffers(long value) { numberOfOffers_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** * * *
     * The number of aggregate offers.
     * 
* * optional int64 number_of_offers = 5; * * @return This builder for chaining. */ public Builder clearNumberOfOffers() { bitField0_ = (bitField0_ & ~0x00000020); numberOfOffers_ = 0L; onChanged(); return this; } private java.lang.Object headlineOfferCondition_ = ""; /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @return Whether the headlineOfferCondition field is set. */ public boolean hasHeadlineOfferCondition() { return ((bitField0_ & 0x00000040) != 0); } /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @return The headlineOfferCondition. */ public java.lang.String getHeadlineOfferCondition() { java.lang.Object ref = headlineOfferCondition_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); headlineOfferCondition_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @return The bytes for headlineOfferCondition. */ public com.google.protobuf.ByteString getHeadlineOfferConditionBytes() { java.lang.Object ref = headlineOfferCondition_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferCondition_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @param value The headlineOfferCondition to set. * @return This builder for chaining. */ public Builder setHeadlineOfferCondition(java.lang.String value) { if (value == null) { throw new NullPointerException(); } headlineOfferCondition_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @return This builder for chaining. */ public Builder clearHeadlineOfferCondition() { headlineOfferCondition_ = getDefaultInstance().getHeadlineOfferCondition(); bitField0_ = (bitField0_ & ~0x00000040); onChanged(); return this; } /** * * *
     * Condition of the headline offer.
     * 
* * optional string headline_offer_condition = 6; * * @param value The bytes for headlineOfferCondition to set. * @return This builder for chaining. */ public Builder setHeadlineOfferConditionBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); headlineOfferCondition_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } private com.google.shopping.type.Price headlineOfferPrice_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> headlineOfferPriceBuilder_; /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; * * @return Whether the headlineOfferPrice field is set. */ public boolean hasHeadlineOfferPrice() { return ((bitField0_ & 0x00000080) != 0); } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; * * @return The headlineOfferPrice. */ public com.google.shopping.type.Price getHeadlineOfferPrice() { if (headlineOfferPriceBuilder_ == null) { return headlineOfferPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferPrice_; } else { return headlineOfferPriceBuilder_.getMessage(); } } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public Builder setHeadlineOfferPrice(com.google.shopping.type.Price value) { if (headlineOfferPriceBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headlineOfferPrice_ = value; } else { headlineOfferPriceBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public Builder setHeadlineOfferPrice(com.google.shopping.type.Price.Builder builderForValue) { if (headlineOfferPriceBuilder_ == null) { headlineOfferPrice_ = builderForValue.build(); } else { headlineOfferPriceBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public Builder mergeHeadlineOfferPrice(com.google.shopping.type.Price value) { if (headlineOfferPriceBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && headlineOfferPrice_ != null && headlineOfferPrice_ != com.google.shopping.type.Price.getDefaultInstance()) { getHeadlineOfferPriceBuilder().mergeFrom(value); } else { headlineOfferPrice_ = value; } } else { headlineOfferPriceBuilder_.mergeFrom(value); } if (headlineOfferPrice_ != null) { bitField0_ |= 0x00000080; onChanged(); } return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public Builder clearHeadlineOfferPrice() { bitField0_ = (bitField0_ & ~0x00000080); headlineOfferPrice_ = null; if (headlineOfferPriceBuilder_ != null) { headlineOfferPriceBuilder_.dispose(); headlineOfferPriceBuilder_ = null; } onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public com.google.shopping.type.Price.Builder getHeadlineOfferPriceBuilder() { bitField0_ |= 0x00000080; onChanged(); return getHeadlineOfferPriceFieldBuilder().getBuilder(); } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ public com.google.shopping.type.PriceOrBuilder getHeadlineOfferPriceOrBuilder() { if (headlineOfferPriceBuilder_ != null) { return headlineOfferPriceBuilder_.getMessageOrBuilder(); } else { return headlineOfferPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferPrice_; } } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_price = 7; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> getHeadlineOfferPriceFieldBuilder() { if (headlineOfferPriceBuilder_ == null) { headlineOfferPriceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder>( getHeadlineOfferPrice(), getParentForChildren(), isClean()); headlineOfferPrice_ = null; } return headlineOfferPriceBuilder_; } private java.lang.Object headlineOfferLink_ = ""; /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @return Whether the headlineOfferLink field is set. */ public boolean hasHeadlineOfferLink() { return ((bitField0_ & 0x00000100) != 0); } /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @return The headlineOfferLink. */ public java.lang.String getHeadlineOfferLink() { java.lang.Object ref = headlineOfferLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); headlineOfferLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @return The bytes for headlineOfferLink. */ public com.google.protobuf.ByteString getHeadlineOfferLinkBytes() { java.lang.Object ref = headlineOfferLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @param value The headlineOfferLink to set. * @return This builder for chaining. */ public Builder setHeadlineOfferLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } headlineOfferLink_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @return This builder for chaining. */ public Builder clearHeadlineOfferLink() { headlineOfferLink_ = getDefaultInstance().getHeadlineOfferLink(); bitField0_ = (bitField0_ & ~0x00000100); onChanged(); return this; } /** * * *
     * Link to the headline offer.
     * 
* * optional string headline_offer_link = 8; * * @param value The bytes for headlineOfferLink to set. * @return This builder for chaining. */ public Builder setHeadlineOfferLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); headlineOfferLink_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } private java.lang.Object headlineOfferMobileLink_ = ""; /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @return Whether the headlineOfferMobileLink field is set. */ public boolean hasHeadlineOfferMobileLink() { return ((bitField0_ & 0x00000200) != 0); } /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @return The headlineOfferMobileLink. */ public java.lang.String getHeadlineOfferMobileLink() { java.lang.Object ref = headlineOfferMobileLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); headlineOfferMobileLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @return The bytes for headlineOfferMobileLink. */ public com.google.protobuf.ByteString getHeadlineOfferMobileLinkBytes() { java.lang.Object ref = headlineOfferMobileLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); headlineOfferMobileLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @param value The headlineOfferMobileLink to set. * @return This builder for chaining. */ public Builder setHeadlineOfferMobileLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } headlineOfferMobileLink_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @return This builder for chaining. */ public Builder clearHeadlineOfferMobileLink() { headlineOfferMobileLink_ = getDefaultInstance().getHeadlineOfferMobileLink(); bitField0_ = (bitField0_ & ~0x00000200); onChanged(); return this; } /** * * *
     * Mobile Link to the headline offer.
     * 
* * optional string headline_offer_mobile_link = 9; * * @param value The bytes for headlineOfferMobileLink to set. * @return This builder for chaining. */ public Builder setHeadlineOfferMobileLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); headlineOfferMobileLink_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } private com.google.shopping.type.Price headlineOfferShippingPrice_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> headlineOfferShippingPriceBuilder_; /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; * * @return Whether the headlineOfferShippingPrice field is set. */ public boolean hasHeadlineOfferShippingPrice() { return ((bitField0_ & 0x00000400) != 0); } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; * * @return The headlineOfferShippingPrice. */ public com.google.shopping.type.Price getHeadlineOfferShippingPrice() { if (headlineOfferShippingPriceBuilder_ == null) { return headlineOfferShippingPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferShippingPrice_; } else { return headlineOfferShippingPriceBuilder_.getMessage(); } } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public Builder setHeadlineOfferShippingPrice(com.google.shopping.type.Price value) { if (headlineOfferShippingPriceBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headlineOfferShippingPrice_ = value; } else { headlineOfferShippingPriceBuilder_.setMessage(value); } bitField0_ |= 0x00000400; onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public Builder setHeadlineOfferShippingPrice( com.google.shopping.type.Price.Builder builderForValue) { if (headlineOfferShippingPriceBuilder_ == null) { headlineOfferShippingPrice_ = builderForValue.build(); } else { headlineOfferShippingPriceBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000400; onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public Builder mergeHeadlineOfferShippingPrice(com.google.shopping.type.Price value) { if (headlineOfferShippingPriceBuilder_ == null) { if (((bitField0_ & 0x00000400) != 0) && headlineOfferShippingPrice_ != null && headlineOfferShippingPrice_ != com.google.shopping.type.Price.getDefaultInstance()) { getHeadlineOfferShippingPriceBuilder().mergeFrom(value); } else { headlineOfferShippingPrice_ = value; } } else { headlineOfferShippingPriceBuilder_.mergeFrom(value); } if (headlineOfferShippingPrice_ != null) { bitField0_ |= 0x00000400; onChanged(); } return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public Builder clearHeadlineOfferShippingPrice() { bitField0_ = (bitField0_ & ~0x00000400); headlineOfferShippingPrice_ = null; if (headlineOfferShippingPriceBuilder_ != null) { headlineOfferShippingPriceBuilder_.dispose(); headlineOfferShippingPriceBuilder_ = null; } onChanged(); return this; } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public com.google.shopping.type.Price.Builder getHeadlineOfferShippingPriceBuilder() { bitField0_ |= 0x00000400; onChanged(); return getHeadlineOfferShippingPriceFieldBuilder().getBuilder(); } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ public com.google.shopping.type.PriceOrBuilder getHeadlineOfferShippingPriceOrBuilder() { if (headlineOfferShippingPriceBuilder_ != null) { return headlineOfferShippingPriceBuilder_.getMessageOrBuilder(); } else { return headlineOfferShippingPrice_ == null ? com.google.shopping.type.Price.getDefaultInstance() : headlineOfferShippingPrice_; } } /** * * *
     * Headline Price of the aggregate offer.
     * 
* * .google.shopping.type.Price headline_offer_shipping_price = 41; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder> getHeadlineOfferShippingPriceFieldBuilder() { if (headlineOfferShippingPriceBuilder_ == null) { headlineOfferShippingPriceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.type.Price, com.google.shopping.type.Price.Builder, com.google.shopping.type.PriceOrBuilder>( getHeadlineOfferShippingPrice(), getParentForChildren(), isClean()); headlineOfferShippingPrice_ = null; } return headlineOfferShippingPriceBuilder_; } private java.lang.Object title_ = ""; /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @return Whether the title field is set. */ public boolean hasTitle() { return ((bitField0_ & 0x00000800) != 0); } /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @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; } } /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @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; } } /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @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_ |= 0x00000800; onChanged(); return this; } /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @return This builder for chaining. */ public Builder clearTitle() { title_ = getDefaultInstance().getTitle(); bitField0_ = (bitField0_ & ~0x00000800); onChanged(); return this; } /** * * *
     * Title of the item.
     * 
* * optional string title = 10; * * @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_ |= 0x00000800; onChanged(); return this; } private java.lang.Object imageLink_ = ""; /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @return Whether the imageLink field is set. */ public boolean hasImageLink() { return ((bitField0_ & 0x00001000) != 0); } /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @return The imageLink. */ public java.lang.String getImageLink() { java.lang.Object ref = imageLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); imageLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @return The bytes for imageLink. */ public com.google.protobuf.ByteString getImageLinkBytes() { java.lang.Object ref = imageLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @param value The imageLink to set. * @return This builder for chaining. */ public Builder setImageLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } imageLink_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @return This builder for chaining. */ public Builder clearImageLink() { imageLink_ = getDefaultInstance().getImageLink(); bitField0_ = (bitField0_ & ~0x00001000); onChanged(); return this; } /** * * *
     * URL of an image of the item.
     * 
* * optional string image_link = 11; * * @param value The bytes for imageLink to set. * @return This builder for chaining. */ public Builder setImageLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); imageLink_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList additionalImageLinks_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureAdditionalImageLinksIsMutable() { if (!additionalImageLinks_.isModifiable()) { additionalImageLinks_ = new com.google.protobuf.LazyStringArrayList(additionalImageLinks_); } bitField0_ |= 0x00002000; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @return A list containing the additionalImageLinks. */ public com.google.protobuf.ProtocolStringList getAdditionalImageLinksList() { additionalImageLinks_.makeImmutable(); return additionalImageLinks_; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @return The count of additionalImageLinks. */ public int getAdditionalImageLinksCount() { return additionalImageLinks_.size(); } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param index The index of the element to return. * @return The additionalImageLinks at the given index. */ public java.lang.String getAdditionalImageLinks(int index) { return additionalImageLinks_.get(index); } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param index The index of the value to return. * @return The bytes of the additionalImageLinks at the given index. */ public com.google.protobuf.ByteString getAdditionalImageLinksBytes(int index) { return additionalImageLinks_.getByteString(index); } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param index The index to set the value at. * @param value The additionalImageLinks to set. * @return This builder for chaining. */ public Builder setAdditionalImageLinks(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAdditionalImageLinksIsMutable(); additionalImageLinks_.set(index, value); bitField0_ |= 0x00002000; onChanged(); return this; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param value The additionalImageLinks to add. * @return This builder for chaining. */ public Builder addAdditionalImageLinks(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureAdditionalImageLinksIsMutable(); additionalImageLinks_.add(value); bitField0_ |= 0x00002000; onChanged(); return this; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param values The additionalImageLinks to add. * @return This builder for chaining. */ public Builder addAllAdditionalImageLinks(java.lang.Iterable values) { ensureAdditionalImageLinksIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, additionalImageLinks_); bitField0_ |= 0x00002000; onChanged(); return this; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @return This builder for chaining. */ public Builder clearAdditionalImageLinks() { additionalImageLinks_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00002000); ; onChanged(); return this; } /** * * *
     * Additional URL of images of the item.
     * 
* * repeated string additional_image_links = 12; * * @param value The bytes of the additionalImageLinks to add. * @return This builder for chaining. */ public Builder addAdditionalImageLinksBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureAdditionalImageLinksIsMutable(); additionalImageLinks_.add(value); bitField0_ |= 0x00002000; onChanged(); return this; } private java.lang.Object description_ = ""; /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @return Whether the description field is set. */ public boolean hasDescription() { return ((bitField0_ & 0x00004000) != 0); } /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @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; } } /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @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; } } /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @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_ |= 0x00004000; onChanged(); return this; } /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @return This builder for chaining. */ public Builder clearDescription() { description_ = getDefaultInstance().getDescription(); bitField0_ = (bitField0_ & ~0x00004000); onChanged(); return this; } /** * * *
     * Description of the item.
     * 
* * optional string description = 13; * * @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_ |= 0x00004000; onChanged(); return this; } private java.lang.Object brand_ = ""; /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @return Whether the brand field is set. */ public boolean hasBrand() { return ((bitField0_ & 0x00008000) != 0); } /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @return The brand. */ public java.lang.String getBrand() { java.lang.Object ref = brand_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); brand_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @return The bytes for brand. */ public com.google.protobuf.ByteString getBrandBytes() { java.lang.Object ref = brand_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); brand_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @param value The brand to set. * @return This builder for chaining. */ public Builder setBrand(java.lang.String value) { if (value == null) { throw new NullPointerException(); } brand_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @return This builder for chaining. */ public Builder clearBrand() { brand_ = getDefaultInstance().getBrand(); bitField0_ = (bitField0_ & ~0x00008000); onChanged(); return this; } /** * * *
     * Product Related Attributes.[14-36]
     * Brand of the item.
     * 
* * optional string brand = 14; * * @param value The bytes for brand to set. * @return This builder for chaining. */ public Builder setBrandBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); brand_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } private java.lang.Object mpn_ = ""; /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @return Whether the mpn field is set. */ public boolean hasMpn() { return ((bitField0_ & 0x00010000) != 0); } /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @return The mpn. */ public java.lang.String getMpn() { java.lang.Object ref = mpn_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); mpn_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @return The bytes for mpn. */ public com.google.protobuf.ByteString getMpnBytes() { java.lang.Object ref = mpn_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); mpn_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @param value The mpn to set. * @return This builder for chaining. */ public Builder setMpn(java.lang.String value) { if (value == null) { throw new NullPointerException(); } mpn_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @return This builder for chaining. */ public Builder clearMpn() { mpn_ = getDefaultInstance().getMpn(); bitField0_ = (bitField0_ & ~0x00010000); onChanged(); return this; } /** * * *
     * Manufacturer Part Number
     * ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
     * item.
     * 
* * optional string mpn = 15; * * @param value The bytes for mpn to set. * @return This builder for chaining. */ public Builder setMpnBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); mpn_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } private java.lang.Object gtin_ = ""; /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @return Whether the gtin field is set. */ public boolean hasGtin() { return ((bitField0_ & 0x00020000) != 0); } /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @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; } } /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @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; } } /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @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_ |= 0x00020000; onChanged(); return this; } /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @return This builder for chaining. */ public Builder clearGtin() { gtin_ = getDefaultInstance().getGtin(); bitField0_ = (bitField0_ & ~0x00020000); onChanged(); return this; } /** * * *
     * Global Trade Item Number
     * ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
     * item.
     * 
* * optional string gtin = 16; * * @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_ |= 0x00020000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList productTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureProductTypesIsMutable() { if (!productTypes_.isModifiable()) { productTypes_ = new com.google.protobuf.LazyStringArrayList(productTypes_); } bitField0_ |= 0x00040000; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @return A list containing the productTypes. */ public com.google.protobuf.ProtocolStringList getProductTypesList() { productTypes_.makeImmutable(); return productTypes_; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @return The count of productTypes. */ public int getProductTypesCount() { return productTypes_.size(); } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param index The index of the element to return. * @return The productTypes at the given index. */ public java.lang.String getProductTypes(int index) { return productTypes_.get(index); } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param index The index of the value to return. * @return The bytes of the productTypes at the given index. */ public com.google.protobuf.ByteString getProductTypesBytes(int index) { return productTypes_.getByteString(index); } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param index The index to set the value at. * @param value The productTypes to set. * @return This builder for chaining. */ public Builder setProductTypes(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureProductTypesIsMutable(); productTypes_.set(index, value); bitField0_ |= 0x00040000; onChanged(); return this; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param value The productTypes to add. * @return This builder for chaining. */ public Builder addProductTypes(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureProductTypesIsMutable(); productTypes_.add(value); bitField0_ |= 0x00040000; onChanged(); return this; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param values The productTypes to add. * @return This builder for chaining. */ public Builder addAllProductTypes(java.lang.Iterable values) { ensureProductTypesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, productTypes_); bitField0_ |= 0x00040000; onChanged(); return this; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @return This builder for chaining. */ public Builder clearProductTypes() { productTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00040000); ; onChanged(); return this; } /** * * *
     * Categories of the item (formatted as in [products data
     * specification](https://support.google.com/merchants/answer/6324406)).
     * 
* * repeated string product_types = 36; * * @param value The bytes of the productTypes to add. * @return This builder for chaining. */ public Builder addProductTypesBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureProductTypesIsMutable(); productTypes_.add(value); bitField0_ |= 0x00040000; onChanged(); return this; } private java.lang.Object googleProductCategory_ = ""; /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @return Whether the googleProductCategory field is set. */ public boolean hasGoogleProductCategory() { return ((bitField0_ & 0x00080000) != 0); } /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @return The googleProductCategory. */ public java.lang.String getGoogleProductCategory() { java.lang.Object ref = googleProductCategory_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); googleProductCategory_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @return The bytes for googleProductCategory. */ public com.google.protobuf.ByteString getGoogleProductCategoryBytes() { java.lang.Object ref = googleProductCategory_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); googleProductCategory_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @param value The googleProductCategory to set. * @return This builder for chaining. */ public Builder setGoogleProductCategory(java.lang.String value) { if (value == null) { throw new NullPointerException(); } googleProductCategory_ = value; bitField0_ |= 0x00080000; onChanged(); return this; } /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @return This builder for chaining. */ public Builder clearGoogleProductCategory() { googleProductCategory_ = getDefaultInstance().getGoogleProductCategory(); bitField0_ = (bitField0_ & ~0x00080000); onChanged(); return this; } /** * * *
     * Google's category of the item (see [Google product
     * taxonomy](https://support.google.com/merchants/answer/1705911)). When
     * querying products, this field will contain the user provided value. There
     * is currently no way to get back the auto assigned google product
     * categories through the API.
     * 
* * optional string google_product_category = 17; * * @param value The bytes for googleProductCategory to set. * @return This builder for chaining. */ public Builder setGoogleProductCategoryBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); googleProductCategory_ = value; bitField0_ |= 0x00080000; onChanged(); return this; } private boolean adult_; /** * * *
     * Set to true if the item is targeted towards adults.
     * 
* * optional bool adult = 18; * * @return Whether the adult field is set. */ @java.lang.Override public boolean hasAdult() { return ((bitField0_ & 0x00100000) != 0); } /** * * *
     * Set to true if the item is targeted towards adults.
     * 
* * optional bool adult = 18; * * @return The adult. */ @java.lang.Override public boolean getAdult() { return adult_; } /** * * *
     * Set to true if the item is targeted towards adults.
     * 
* * optional bool adult = 18; * * @param value The adult to set. * @return This builder for chaining. */ public Builder setAdult(boolean value) { adult_ = value; bitField0_ |= 0x00100000; onChanged(); return this; } /** * * *
     * Set to true if the item is targeted towards adults.
     * 
* * optional bool adult = 18; * * @return This builder for chaining. */ public Builder clearAdult() { bitField0_ = (bitField0_ & ~0x00100000); adult_ = false; onChanged(); return this; } private long multipack_; /** * * *
     * The number of identical products in a merchant-defined multipack.
     * 
* * optional int64 multipack = 19; * * @return Whether the multipack field is set. */ @java.lang.Override public boolean hasMultipack() { return ((bitField0_ & 0x00200000) != 0); } /** * * *
     * The number of identical products in a merchant-defined multipack.
     * 
* * optional int64 multipack = 19; * * @return The multipack. */ @java.lang.Override public long getMultipack() { return multipack_; } /** * * *
     * The number of identical products in a merchant-defined multipack.
     * 
* * optional int64 multipack = 19; * * @param value The multipack to set. * @return This builder for chaining. */ public Builder setMultipack(long value) { multipack_ = value; bitField0_ |= 0x00200000; onChanged(); return this; } /** * * *
     * The number of identical products in a merchant-defined multipack.
     * 
* * optional int64 multipack = 19; * * @return This builder for chaining. */ public Builder clearMultipack() { bitField0_ = (bitField0_ & ~0x00200000); multipack_ = 0L; onChanged(); return this; } private boolean isBundle_; /** * * *
     * Whether the item is a merchant-defined bundle. A bundle is a custom
     * grouping of different products sold by a merchant for a single price.
     * 
* * optional bool is_bundle = 20; * * @return Whether the isBundle field is set. */ @java.lang.Override public boolean hasIsBundle() { return ((bitField0_ & 0x00400000) != 0); } /** * * *
     * Whether the item is a merchant-defined bundle. A bundle is a custom
     * grouping of different products sold by a merchant for a single price.
     * 
* * optional bool is_bundle = 20; * * @return The isBundle. */ @java.lang.Override public boolean getIsBundle() { return isBundle_; } /** * * *
     * Whether the item is a merchant-defined bundle. A bundle is a custom
     * grouping of different products sold by a merchant for a single price.
     * 
* * optional bool is_bundle = 20; * * @param value The isBundle to set. * @return This builder for chaining. */ public Builder setIsBundle(boolean value) { isBundle_ = value; bitField0_ |= 0x00400000; onChanged(); return this; } /** * * *
     * Whether the item is a merchant-defined bundle. A bundle is a custom
     * grouping of different products sold by a merchant for a single price.
     * 
* * optional bool is_bundle = 20; * * @return This builder for chaining. */ public Builder clearIsBundle() { bitField0_ = (bitField0_ & ~0x00400000); isBundle_ = false; onChanged(); return this; } private java.lang.Object ageGroup_ = ""; /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @return Whether the ageGroup field is set. */ public boolean hasAgeGroup() { return ((bitField0_ & 0x00800000) != 0); } /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @return The ageGroup. */ public java.lang.String getAgeGroup() { java.lang.Object ref = ageGroup_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); ageGroup_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @return The bytes for ageGroup. */ public com.google.protobuf.ByteString getAgeGroupBytes() { java.lang.Object ref = ageGroup_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); ageGroup_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @param value The ageGroup to set. * @return This builder for chaining. */ public Builder setAgeGroup(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ageGroup_ = value; bitField0_ |= 0x00800000; onChanged(); return this; } /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @return This builder for chaining. */ public Builder clearAgeGroup() { ageGroup_ = getDefaultInstance().getAgeGroup(); bitField0_ = (bitField0_ & ~0x00800000); onChanged(); return this; } /** * * *
     * Target age group of the item.
     * 
* * optional string age_group = 21; * * @param value The bytes for ageGroup to set. * @return This builder for chaining. */ public Builder setAgeGroupBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ageGroup_ = value; bitField0_ |= 0x00800000; onChanged(); return this; } private java.lang.Object color_ = ""; /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @return Whether the color field is set. */ public boolean hasColor() { return ((bitField0_ & 0x01000000) != 0); } /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @return The color. */ public java.lang.String getColor() { java.lang.Object ref = color_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); color_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @return The bytes for color. */ public com.google.protobuf.ByteString getColorBytes() { java.lang.Object ref = color_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); color_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @param value The color to set. * @return This builder for chaining. */ public Builder setColor(java.lang.String value) { if (value == null) { throw new NullPointerException(); } color_ = value; bitField0_ |= 0x01000000; onChanged(); return this; } /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @return This builder for chaining. */ public Builder clearColor() { color_ = getDefaultInstance().getColor(); bitField0_ = (bitField0_ & ~0x01000000); onChanged(); return this; } /** * * *
     * Color of the item.
     * 
* * optional string color = 22; * * @param value The bytes for color to set. * @return This builder for chaining. */ public Builder setColorBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); color_ = value; bitField0_ |= 0x01000000; onChanged(); return this; } private java.lang.Object gender_ = ""; /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @return Whether the gender field is set. */ public boolean hasGender() { return ((bitField0_ & 0x02000000) != 0); } /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @return The gender. */ public java.lang.String getGender() { java.lang.Object ref = gender_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); gender_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @return The bytes for gender. */ public com.google.protobuf.ByteString getGenderBytes() { java.lang.Object ref = gender_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); gender_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @param value The gender to set. * @return This builder for chaining. */ public Builder setGender(java.lang.String value) { if (value == null) { throw new NullPointerException(); } gender_ = value; bitField0_ |= 0x02000000; onChanged(); return this; } /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @return This builder for chaining. */ public Builder clearGender() { gender_ = getDefaultInstance().getGender(); bitField0_ = (bitField0_ & ~0x02000000); onChanged(); return this; } /** * * *
     * Target gender of the item.
     * 
* * optional string gender = 23; * * @param value The bytes for gender to set. * @return This builder for chaining. */ public Builder setGenderBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); gender_ = value; bitField0_ |= 0x02000000; onChanged(); return this; } private java.lang.Object material_ = ""; /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @return Whether the material field is set. */ public boolean hasMaterial() { return ((bitField0_ & 0x04000000) != 0); } /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @return The material. */ public java.lang.String getMaterial() { java.lang.Object ref = material_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); material_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @return The bytes for material. */ public com.google.protobuf.ByteString getMaterialBytes() { java.lang.Object ref = material_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); material_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @param value The material to set. * @return This builder for chaining. */ public Builder setMaterial(java.lang.String value) { if (value == null) { throw new NullPointerException(); } material_ = value; bitField0_ |= 0x04000000; onChanged(); return this; } /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @return This builder for chaining. */ public Builder clearMaterial() { material_ = getDefaultInstance().getMaterial(); bitField0_ = (bitField0_ & ~0x04000000); onChanged(); return this; } /** * * *
     * The material of which the item is made.
     * 
* * optional string material = 24; * * @param value The bytes for material to set. * @return This builder for chaining. */ public Builder setMaterialBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); material_ = value; bitField0_ |= 0x04000000; onChanged(); return this; } private java.lang.Object pattern_ = ""; /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @return Whether the pattern field is set. */ public boolean hasPattern() { return ((bitField0_ & 0x08000000) != 0); } /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @return The pattern. */ public java.lang.String getPattern() { java.lang.Object ref = pattern_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); pattern_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @return The bytes for pattern. */ public com.google.protobuf.ByteString getPatternBytes() { java.lang.Object ref = pattern_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pattern_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @param value The pattern to set. * @return This builder for chaining. */ public Builder setPattern(java.lang.String value) { if (value == null) { throw new NullPointerException(); } pattern_ = value; bitField0_ |= 0x08000000; onChanged(); return this; } /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @return This builder for chaining. */ public Builder clearPattern() { pattern_ = getDefaultInstance().getPattern(); bitField0_ = (bitField0_ & ~0x08000000); onChanged(); return this; } /** * * *
     * The item's pattern (e.g. polka dots).
     * 
* * optional string pattern = 25; * * @param value The bytes for pattern to set. * @return This builder for chaining. */ public Builder setPatternBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); pattern_ = value; bitField0_ |= 0x08000000; onChanged(); return this; } private java.lang.Object size_ = ""; /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @return Whether the size field is set. */ public boolean hasSize() { return ((bitField0_ & 0x10000000) != 0); } /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @return The size. */ public java.lang.String getSize() { java.lang.Object ref = size_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); size_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @return The bytes for size. */ public com.google.protobuf.ByteString getSizeBytes() { java.lang.Object ref = size_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); size_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @param value The size to set. * @return This builder for chaining. */ public Builder setSize(java.lang.String value) { if (value == null) { throw new NullPointerException(); } size_ = value; bitField0_ |= 0x10000000; onChanged(); return this; } /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @return This builder for chaining. */ public Builder clearSize() { size_ = getDefaultInstance().getSize(); bitField0_ = (bitField0_ & ~0x10000000); onChanged(); return this; } /** * * *
     * Size of the item. Only one value is allowed. For variants with different
     * sizes, insert a separate product for each size with the same
     * `itemGroupId` value (see
     * [https://support.google.com/merchants/answer/6324492](size definition)).
     * 
* * optional string size = 26; * * @param value The bytes for size to set. * @return This builder for chaining. */ public Builder setSizeBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); size_ = value; bitField0_ |= 0x10000000; onChanged(); return this; } private java.lang.Object sizeSystem_ = ""; /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @return Whether the sizeSystem field is set. */ public boolean hasSizeSystem() { return ((bitField0_ & 0x20000000) != 0); } /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @return The sizeSystem. */ public java.lang.String getSizeSystem() { java.lang.Object ref = sizeSystem_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sizeSystem_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @return The bytes for sizeSystem. */ public com.google.protobuf.ByteString getSizeSystemBytes() { java.lang.Object ref = sizeSystem_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); sizeSystem_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @param value The sizeSystem to set. * @return This builder for chaining. */ public Builder setSizeSystem(java.lang.String value) { if (value == null) { throw new NullPointerException(); } sizeSystem_ = value; bitField0_ |= 0x20000000; onChanged(); return this; } /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @return This builder for chaining. */ public Builder clearSizeSystem() { sizeSystem_ = getDefaultInstance().getSizeSystem(); bitField0_ = (bitField0_ & ~0x20000000); onChanged(); return this; } /** * * *
     * System in which the size is specified. Recommended for apparel items.
     * 
* * optional string size_system = 27; * * @param value The bytes for sizeSystem to set. * @return This builder for chaining. */ public Builder setSizeSystemBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sizeSystem_ = value; bitField0_ |= 0x20000000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sizeTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSizeTypesIsMutable() { if (!sizeTypes_.isModifiable()) { sizeTypes_ = new com.google.protobuf.LazyStringArrayList(sizeTypes_); } bitField0_ |= 0x40000000; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @return A list containing the sizeTypes. */ public com.google.protobuf.ProtocolStringList getSizeTypesList() { sizeTypes_.makeImmutable(); return sizeTypes_; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @return The count of sizeTypes. */ public int getSizeTypesCount() { return sizeTypes_.size(); } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param index The index of the element to return. * @return The sizeTypes at the given index. */ public java.lang.String getSizeTypes(int index) { return sizeTypes_.get(index); } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param index The index of the value to return. * @return The bytes of the sizeTypes at the given index. */ public com.google.protobuf.ByteString getSizeTypesBytes(int index) { return sizeTypes_.getByteString(index); } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param index The index to set the value at. * @param value The sizeTypes to set. * @return This builder for chaining. */ public Builder setSizeTypes(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSizeTypesIsMutable(); sizeTypes_.set(index, value); bitField0_ |= 0x40000000; onChanged(); return this; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param value The sizeTypes to add. * @return This builder for chaining. */ public Builder addSizeTypes(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSizeTypesIsMutable(); sizeTypes_.add(value); bitField0_ |= 0x40000000; onChanged(); return this; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param values The sizeTypes to add. * @return This builder for chaining. */ public Builder addAllSizeTypes(java.lang.Iterable values) { ensureSizeTypesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sizeTypes_); bitField0_ |= 0x40000000; onChanged(); return this; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @return This builder for chaining. */ public Builder clearSizeTypes() { sizeTypes_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x40000000); ; onChanged(); return this; } /** * * *
     * The cut of the item. It can be used to represent combined size types for
     * apparel items. Maximum two of size types can be provided (see
     * [https://support.google.com/merchants/answer/6324497](size type)).
     * 
* * repeated string size_types = 28; * * @param value The bytes of the sizeTypes to add. * @return This builder for chaining. */ public Builder addSizeTypesBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSizeTypesIsMutable(); sizeTypes_.add(value); bitField0_ |= 0x40000000; onChanged(); return this; } private java.lang.Object itemGroupId_ = ""; /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @return Whether the itemGroupId field is set. */ public boolean hasItemGroupId() { return ((bitField0_ & 0x80000000) != 0); } /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @return The itemGroupId. */ public java.lang.String getItemGroupId() { java.lang.Object ref = itemGroupId_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); itemGroupId_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @return The bytes for itemGroupId. */ public com.google.protobuf.ByteString getItemGroupIdBytes() { java.lang.Object ref = itemGroupId_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); itemGroupId_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @param value The itemGroupId to set. * @return This builder for chaining. */ public Builder setItemGroupId(java.lang.String value) { if (value == null) { throw new NullPointerException(); } itemGroupId_ = value; bitField0_ |= 0x80000000; onChanged(); return this; } /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @return This builder for chaining. */ public Builder clearItemGroupId() { itemGroupId_ = getDefaultInstance().getItemGroupId(); bitField0_ = (bitField0_ & ~0x80000000); onChanged(); return this; } /** * * *
     * Shared identifier for all variants of the same product.
     * 
* * optional string item_group_id = 29; * * @param value The bytes for itemGroupId to set. * @return This builder for chaining. */ public Builder setItemGroupIdBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); itemGroupId_ = value; bitField0_ |= 0x80000000; onChanged(); return this; } private java.util.List productDetails_ = java.util.Collections.emptyList(); private void ensureProductDetailsIsMutable() { if (!((bitField1_ & 0x00000001) != 0)) { productDetails_ = new java.util.ArrayList(productDetails_); bitField1_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.ProductDetail, com.google.shopping.css.v1.ProductDetail.Builder, com.google.shopping.css.v1.ProductDetailOrBuilder> productDetailsBuilder_; /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public java.util.List getProductDetailsList() { if (productDetailsBuilder_ == null) { return java.util.Collections.unmodifiableList(productDetails_); } else { return productDetailsBuilder_.getMessageList(); } } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public int getProductDetailsCount() { if (productDetailsBuilder_ == null) { return productDetails_.size(); } else { return productDetailsBuilder_.getCount(); } } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public com.google.shopping.css.v1.ProductDetail getProductDetails(int index) { if (productDetailsBuilder_ == null) { return productDetails_.get(index); } else { return productDetailsBuilder_.getMessage(index); } } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder setProductDetails(int index, com.google.shopping.css.v1.ProductDetail value) { if (productDetailsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureProductDetailsIsMutable(); productDetails_.set(index, value); onChanged(); } else { productDetailsBuilder_.setMessage(index, value); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder setProductDetails( int index, com.google.shopping.css.v1.ProductDetail.Builder builderForValue) { if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); productDetails_.set(index, builderForValue.build()); onChanged(); } else { productDetailsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder addProductDetails(com.google.shopping.css.v1.ProductDetail value) { if (productDetailsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureProductDetailsIsMutable(); productDetails_.add(value); onChanged(); } else { productDetailsBuilder_.addMessage(value); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder addProductDetails(int index, com.google.shopping.css.v1.ProductDetail value) { if (productDetailsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureProductDetailsIsMutable(); productDetails_.add(index, value); onChanged(); } else { productDetailsBuilder_.addMessage(index, value); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder addProductDetails( com.google.shopping.css.v1.ProductDetail.Builder builderForValue) { if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); productDetails_.add(builderForValue.build()); onChanged(); } else { productDetailsBuilder_.addMessage(builderForValue.build()); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder addProductDetails( int index, com.google.shopping.css.v1.ProductDetail.Builder builderForValue) { if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); productDetails_.add(index, builderForValue.build()); onChanged(); } else { productDetailsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder addAllProductDetails( java.lang.Iterable values) { if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, productDetails_); onChanged(); } else { productDetailsBuilder_.addAllMessages(values); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder clearProductDetails() { if (productDetailsBuilder_ == null) { productDetails_ = java.util.Collections.emptyList(); bitField1_ = (bitField1_ & ~0x00000001); onChanged(); } else { productDetailsBuilder_.clear(); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public Builder removeProductDetails(int index) { if (productDetailsBuilder_ == null) { ensureProductDetailsIsMutable(); productDetails_.remove(index); onChanged(); } else { productDetailsBuilder_.remove(index); } return this; } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public com.google.shopping.css.v1.ProductDetail.Builder getProductDetailsBuilder(int index) { return getProductDetailsFieldBuilder().getBuilder(index); } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public com.google.shopping.css.v1.ProductDetailOrBuilder getProductDetailsOrBuilder(int index) { if (productDetailsBuilder_ == null) { return productDetails_.get(index); } else { return productDetailsBuilder_.getMessageOrBuilder(index); } } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public java.util.List getProductDetailsOrBuilderList() { if (productDetailsBuilder_ != null) { return productDetailsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(productDetails_); } } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public com.google.shopping.css.v1.ProductDetail.Builder addProductDetailsBuilder() { return getProductDetailsFieldBuilder() .addBuilder(com.google.shopping.css.v1.ProductDetail.getDefaultInstance()); } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public com.google.shopping.css.v1.ProductDetail.Builder addProductDetailsBuilder(int index) { return getProductDetailsFieldBuilder() .addBuilder(index, com.google.shopping.css.v1.ProductDetail.getDefaultInstance()); } /** * * *
     * Technical specification or additional product details.
     * 
* * repeated .google.shopping.css.v1.ProductDetail product_details = 30; */ public java.util.List getProductDetailsBuilderList() { return getProductDetailsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.ProductDetail, com.google.shopping.css.v1.ProductDetail.Builder, com.google.shopping.css.v1.ProductDetailOrBuilder> getProductDetailsFieldBuilder() { if (productDetailsBuilder_ == null) { productDetailsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.ProductDetail, com.google.shopping.css.v1.ProductDetail.Builder, com.google.shopping.css.v1.ProductDetailOrBuilder>( productDetails_, ((bitField1_ & 0x00000001) != 0), getParentForChildren(), isClean()); productDetails_ = null; } return productDetailsBuilder_; } private com.google.shopping.css.v1.ProductWeight productWeight_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductWeight, com.google.shopping.css.v1.ProductWeight.Builder, com.google.shopping.css.v1.ProductWeightOrBuilder> productWeightBuilder_; /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; * * @return Whether the productWeight field is set. */ public boolean hasProductWeight() { return ((bitField1_ & 0x00000002) != 0); } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; * * @return The productWeight. */ public com.google.shopping.css.v1.ProductWeight getProductWeight() { if (productWeightBuilder_ == null) { return productWeight_ == null ? com.google.shopping.css.v1.ProductWeight.getDefaultInstance() : productWeight_; } else { return productWeightBuilder_.getMessage(); } } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public Builder setProductWeight(com.google.shopping.css.v1.ProductWeight value) { if (productWeightBuilder_ == null) { if (value == null) { throw new NullPointerException(); } productWeight_ = value; } else { productWeightBuilder_.setMessage(value); } bitField1_ |= 0x00000002; onChanged(); return this; } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public Builder setProductWeight( com.google.shopping.css.v1.ProductWeight.Builder builderForValue) { if (productWeightBuilder_ == null) { productWeight_ = builderForValue.build(); } else { productWeightBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000002; onChanged(); return this; } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public Builder mergeProductWeight(com.google.shopping.css.v1.ProductWeight value) { if (productWeightBuilder_ == null) { if (((bitField1_ & 0x00000002) != 0) && productWeight_ != null && productWeight_ != com.google.shopping.css.v1.ProductWeight.getDefaultInstance()) { getProductWeightBuilder().mergeFrom(value); } else { productWeight_ = value; } } else { productWeightBuilder_.mergeFrom(value); } if (productWeight_ != null) { bitField1_ |= 0x00000002; onChanged(); } return this; } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public Builder clearProductWeight() { bitField1_ = (bitField1_ & ~0x00000002); productWeight_ = null; if (productWeightBuilder_ != null) { productWeightBuilder_.dispose(); productWeightBuilder_ = null; } onChanged(); return this; } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public com.google.shopping.css.v1.ProductWeight.Builder getProductWeightBuilder() { bitField1_ |= 0x00000002; onChanged(); return getProductWeightFieldBuilder().getBuilder(); } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ public com.google.shopping.css.v1.ProductWeightOrBuilder getProductWeightOrBuilder() { if (productWeightBuilder_ != null) { return productWeightBuilder_.getMessageOrBuilder(); } else { return productWeight_ == null ? com.google.shopping.css.v1.ProductWeight.getDefaultInstance() : productWeight_; } } /** * * *
     * The weight of the product in the units provided. The value must be
     * between 0 (exclusive) and 2000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductWeight product_weight = 31; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductWeight, com.google.shopping.css.v1.ProductWeight.Builder, com.google.shopping.css.v1.ProductWeightOrBuilder> getProductWeightFieldBuilder() { if (productWeightBuilder_ == null) { productWeightBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductWeight, com.google.shopping.css.v1.ProductWeight.Builder, com.google.shopping.css.v1.ProductWeightOrBuilder>( getProductWeight(), getParentForChildren(), isClean()); productWeight_ = null; } return productWeightBuilder_; } private com.google.shopping.css.v1.ProductDimension productLength_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> productLengthBuilder_; /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; * * @return Whether the productLength field is set. */ public boolean hasProductLength() { return ((bitField1_ & 0x00000004) != 0); } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; * * @return The productLength. */ public com.google.shopping.css.v1.ProductDimension getProductLength() { if (productLengthBuilder_ == null) { return productLength_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productLength_; } else { return productLengthBuilder_.getMessage(); } } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public Builder setProductLength(com.google.shopping.css.v1.ProductDimension value) { if (productLengthBuilder_ == null) { if (value == null) { throw new NullPointerException(); } productLength_ = value; } else { productLengthBuilder_.setMessage(value); } bitField1_ |= 0x00000004; onChanged(); return this; } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public Builder setProductLength( com.google.shopping.css.v1.ProductDimension.Builder builderForValue) { if (productLengthBuilder_ == null) { productLength_ = builderForValue.build(); } else { productLengthBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000004; onChanged(); return this; } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public Builder mergeProductLength(com.google.shopping.css.v1.ProductDimension value) { if (productLengthBuilder_ == null) { if (((bitField1_ & 0x00000004) != 0) && productLength_ != null && productLength_ != com.google.shopping.css.v1.ProductDimension.getDefaultInstance()) { getProductLengthBuilder().mergeFrom(value); } else { productLength_ = value; } } else { productLengthBuilder_.mergeFrom(value); } if (productLength_ != null) { bitField1_ |= 0x00000004; onChanged(); } return this; } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public Builder clearProductLength() { bitField1_ = (bitField1_ & ~0x00000004); productLength_ = null; if (productLengthBuilder_ != null) { productLengthBuilder_.dispose(); productLengthBuilder_ = null; } onChanged(); return this; } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public com.google.shopping.css.v1.ProductDimension.Builder getProductLengthBuilder() { bitField1_ |= 0x00000004; onChanged(); return getProductLengthFieldBuilder().getBuilder(); } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductLengthOrBuilder() { if (productLengthBuilder_ != null) { return productLengthBuilder_.getMessageOrBuilder(); } else { return productLength_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productLength_; } } /** * * *
     * The length of the product in the units provided. The value must be
     * between 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_length = 32; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> getProductLengthFieldBuilder() { if (productLengthBuilder_ == null) { productLengthBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder>( getProductLength(), getParentForChildren(), isClean()); productLength_ = null; } return productLengthBuilder_; } private com.google.shopping.css.v1.ProductDimension productWidth_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> productWidthBuilder_; /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; * * @return Whether the productWidth field is set. */ public boolean hasProductWidth() { return ((bitField1_ & 0x00000008) != 0); } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; * * @return The productWidth. */ public com.google.shopping.css.v1.ProductDimension getProductWidth() { if (productWidthBuilder_ == null) { return productWidth_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productWidth_; } else { return productWidthBuilder_.getMessage(); } } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public Builder setProductWidth(com.google.shopping.css.v1.ProductDimension value) { if (productWidthBuilder_ == null) { if (value == null) { throw new NullPointerException(); } productWidth_ = value; } else { productWidthBuilder_.setMessage(value); } bitField1_ |= 0x00000008; onChanged(); return this; } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public Builder setProductWidth( com.google.shopping.css.v1.ProductDimension.Builder builderForValue) { if (productWidthBuilder_ == null) { productWidth_ = builderForValue.build(); } else { productWidthBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000008; onChanged(); return this; } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public Builder mergeProductWidth(com.google.shopping.css.v1.ProductDimension value) { if (productWidthBuilder_ == null) { if (((bitField1_ & 0x00000008) != 0) && productWidth_ != null && productWidth_ != com.google.shopping.css.v1.ProductDimension.getDefaultInstance()) { getProductWidthBuilder().mergeFrom(value); } else { productWidth_ = value; } } else { productWidthBuilder_.mergeFrom(value); } if (productWidth_ != null) { bitField1_ |= 0x00000008; onChanged(); } return this; } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public Builder clearProductWidth() { bitField1_ = (bitField1_ & ~0x00000008); productWidth_ = null; if (productWidthBuilder_ != null) { productWidthBuilder_.dispose(); productWidthBuilder_ = null; } onChanged(); return this; } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public com.google.shopping.css.v1.ProductDimension.Builder getProductWidthBuilder() { bitField1_ |= 0x00000008; onChanged(); return getProductWidthFieldBuilder().getBuilder(); } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductWidthOrBuilder() { if (productWidthBuilder_ != null) { return productWidthBuilder_.getMessageOrBuilder(); } else { return productWidth_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productWidth_; } } /** * * *
     * The width of the product in the units provided. The value must be between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_width = 33; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> getProductWidthFieldBuilder() { if (productWidthBuilder_ == null) { productWidthBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder>( getProductWidth(), getParentForChildren(), isClean()); productWidth_ = null; } return productWidthBuilder_; } private com.google.shopping.css.v1.ProductDimension productHeight_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> productHeightBuilder_; /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; * * @return Whether the productHeight field is set. */ public boolean hasProductHeight() { return ((bitField1_ & 0x00000010) != 0); } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; * * @return The productHeight. */ public com.google.shopping.css.v1.ProductDimension getProductHeight() { if (productHeightBuilder_ == null) { return productHeight_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productHeight_; } else { return productHeightBuilder_.getMessage(); } } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public Builder setProductHeight(com.google.shopping.css.v1.ProductDimension value) { if (productHeightBuilder_ == null) { if (value == null) { throw new NullPointerException(); } productHeight_ = value; } else { productHeightBuilder_.setMessage(value); } bitField1_ |= 0x00000010; onChanged(); return this; } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public Builder setProductHeight( com.google.shopping.css.v1.ProductDimension.Builder builderForValue) { if (productHeightBuilder_ == null) { productHeight_ = builderForValue.build(); } else { productHeightBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000010; onChanged(); return this; } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public Builder mergeProductHeight(com.google.shopping.css.v1.ProductDimension value) { if (productHeightBuilder_ == null) { if (((bitField1_ & 0x00000010) != 0) && productHeight_ != null && productHeight_ != com.google.shopping.css.v1.ProductDimension.getDefaultInstance()) { getProductHeightBuilder().mergeFrom(value); } else { productHeight_ = value; } } else { productHeightBuilder_.mergeFrom(value); } if (productHeight_ != null) { bitField1_ |= 0x00000010; onChanged(); } return this; } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public Builder clearProductHeight() { bitField1_ = (bitField1_ & ~0x00000010); productHeight_ = null; if (productHeightBuilder_ != null) { productHeightBuilder_.dispose(); productHeightBuilder_ = null; } onChanged(); return this; } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public com.google.shopping.css.v1.ProductDimension.Builder getProductHeightBuilder() { bitField1_ |= 0x00000010; onChanged(); return getProductHeightFieldBuilder().getBuilder(); } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ public com.google.shopping.css.v1.ProductDimensionOrBuilder getProductHeightOrBuilder() { if (productHeightBuilder_ != null) { return productHeightBuilder_.getMessageOrBuilder(); } else { return productHeight_ == null ? com.google.shopping.css.v1.ProductDimension.getDefaultInstance() : productHeight_; } } /** * * *
     * The height of the product in the units provided. The value must be
     * between
     * 0 (exclusive) and 3000 (inclusive).
     * 
* * .google.shopping.css.v1.ProductDimension product_height = 34; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder> getProductHeightFieldBuilder() { if (productHeightBuilder_ == null) { productHeightBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.ProductDimension, com.google.shopping.css.v1.ProductDimension.Builder, com.google.shopping.css.v1.ProductDimensionOrBuilder>( getProductHeight(), getParentForChildren(), isClean()); productHeight_ = null; } return productHeightBuilder_; } private com.google.protobuf.LazyStringArrayList productHighlights_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureProductHighlightsIsMutable() { if (!productHighlights_.isModifiable()) { productHighlights_ = new com.google.protobuf.LazyStringArrayList(productHighlights_); } bitField1_ |= 0x00000020; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @return A list containing the productHighlights. */ public com.google.protobuf.ProtocolStringList getProductHighlightsList() { productHighlights_.makeImmutable(); return productHighlights_; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @return The count of productHighlights. */ public int getProductHighlightsCount() { return productHighlights_.size(); } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param index The index of the element to return. * @return The productHighlights at the given index. */ public java.lang.String getProductHighlights(int index) { return productHighlights_.get(index); } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param index The index of the value to return. * @return The bytes of the productHighlights at the given index. */ public com.google.protobuf.ByteString getProductHighlightsBytes(int index) { return productHighlights_.getByteString(index); } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param index The index to set the value at. * @param value The productHighlights to set. * @return This builder for chaining. */ public Builder setProductHighlights(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureProductHighlightsIsMutable(); productHighlights_.set(index, value); bitField1_ |= 0x00000020; onChanged(); return this; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param value The productHighlights to add. * @return This builder for chaining. */ public Builder addProductHighlights(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureProductHighlightsIsMutable(); productHighlights_.add(value); bitField1_ |= 0x00000020; onChanged(); return this; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param values The productHighlights to add. * @return This builder for chaining. */ public Builder addAllProductHighlights(java.lang.Iterable values) { ensureProductHighlightsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, productHighlights_); bitField1_ |= 0x00000020; onChanged(); return this; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @return This builder for chaining. */ public Builder clearProductHighlights() { productHighlights_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField1_ = (bitField1_ & ~0x00000020); ; onChanged(); return this; } /** * * *
     * Bullet points describing the most relevant highlights of a product.
     * 
* * repeated string product_highlights = 35; * * @param value The bytes of the productHighlights to add. * @return This builder for chaining. */ public Builder addProductHighlightsBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureProductHighlightsIsMutable(); productHighlights_.add(value); bitField1_ |= 0x00000020; onChanged(); return this; } private java.util.List certifications_ = java.util.Collections.emptyList(); private void ensureCertificationsIsMutable() { if (!((bitField1_ & 0x00000040) != 0)) { certifications_ = new java.util.ArrayList(certifications_); bitField1_ |= 0x00000040; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.Certification, com.google.shopping.css.v1.Certification.Builder, com.google.shopping.css.v1.CertificationOrBuilder> certificationsBuilder_; /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public java.util.List getCertificationsList() { if (certificationsBuilder_ == null) { return java.util.Collections.unmodifiableList(certifications_); } else { return certificationsBuilder_.getMessageList(); } } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public int getCertificationsCount() { if (certificationsBuilder_ == null) { return certifications_.size(); } else { return certificationsBuilder_.getCount(); } } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public com.google.shopping.css.v1.Certification getCertifications(int index) { if (certificationsBuilder_ == null) { return certifications_.get(index); } else { return certificationsBuilder_.getMessage(index); } } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder setCertifications(int index, com.google.shopping.css.v1.Certification value) { if (certificationsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCertificationsIsMutable(); certifications_.set(index, value); onChanged(); } else { certificationsBuilder_.setMessage(index, value); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder setCertifications( int index, com.google.shopping.css.v1.Certification.Builder builderForValue) { if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); certifications_.set(index, builderForValue.build()); onChanged(); } else { certificationsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder addCertifications(com.google.shopping.css.v1.Certification value) { if (certificationsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCertificationsIsMutable(); certifications_.add(value); onChanged(); } else { certificationsBuilder_.addMessage(value); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder addCertifications(int index, com.google.shopping.css.v1.Certification value) { if (certificationsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCertificationsIsMutable(); certifications_.add(index, value); onChanged(); } else { certificationsBuilder_.addMessage(index, value); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder addCertifications( com.google.shopping.css.v1.Certification.Builder builderForValue) { if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); certifications_.add(builderForValue.build()); onChanged(); } else { certificationsBuilder_.addMessage(builderForValue.build()); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder addCertifications( int index, com.google.shopping.css.v1.Certification.Builder builderForValue) { if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); certifications_.add(index, builderForValue.build()); onChanged(); } else { certificationsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder addAllCertifications( java.lang.Iterable values) { if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, certifications_); onChanged(); } else { certificationsBuilder_.addAllMessages(values); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder clearCertifications() { if (certificationsBuilder_ == null) { certifications_ = java.util.Collections.emptyList(); bitField1_ = (bitField1_ & ~0x00000040); onChanged(); } else { certificationsBuilder_.clear(); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public Builder removeCertifications(int index) { if (certificationsBuilder_ == null) { ensureCertificationsIsMutable(); certifications_.remove(index); onChanged(); } else { certificationsBuilder_.remove(index); } return this; } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public com.google.shopping.css.v1.Certification.Builder getCertificationsBuilder(int index) { return getCertificationsFieldBuilder().getBuilder(index); } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public com.google.shopping.css.v1.CertificationOrBuilder getCertificationsOrBuilder(int index) { if (certificationsBuilder_ == null) { return certifications_.get(index); } else { return certificationsBuilder_.getMessageOrBuilder(index); } } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public java.util.List getCertificationsOrBuilderList() { if (certificationsBuilder_ != null) { return certificationsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(certifications_); } } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public com.google.shopping.css.v1.Certification.Builder addCertificationsBuilder() { return getCertificationsFieldBuilder() .addBuilder(com.google.shopping.css.v1.Certification.getDefaultInstance()); } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public com.google.shopping.css.v1.Certification.Builder addCertificationsBuilder(int index) { return getCertificationsFieldBuilder() .addBuilder(index, com.google.shopping.css.v1.Certification.getDefaultInstance()); } /** * * *
     * A list of certificates claimed by the CSS for the given product.
     * 
* * repeated .google.shopping.css.v1.Certification certifications = 39; */ public java.util.List getCertificationsBuilderList() { return getCertificationsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.Certification, com.google.shopping.css.v1.Certification.Builder, com.google.shopping.css.v1.CertificationOrBuilder> getCertificationsFieldBuilder() { if (certificationsBuilder_ == null) { certificationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.shopping.css.v1.Certification, com.google.shopping.css.v1.Certification.Builder, com.google.shopping.css.v1.CertificationOrBuilder>( certifications_, ((bitField1_ & 0x00000040) != 0), getParentForChildren(), isClean()); certifications_ = null; } return certificationsBuilder_; } private com.google.protobuf.Timestamp expirationDate_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> expirationDateBuilder_; /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; * * @return Whether the expirationDate field is set. */ public boolean hasExpirationDate() { return ((bitField1_ & 0x00000080) != 0); } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; * * @return The expirationDate. */ public com.google.protobuf.Timestamp getExpirationDate() { if (expirationDateBuilder_ == null) { return expirationDate_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expirationDate_; } else { return expirationDateBuilder_.getMessage(); } } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public Builder setExpirationDate(com.google.protobuf.Timestamp value) { if (expirationDateBuilder_ == null) { if (value == null) { throw new NullPointerException(); } expirationDate_ = value; } else { expirationDateBuilder_.setMessage(value); } bitField1_ |= 0x00000080; onChanged(); return this; } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public Builder setExpirationDate(com.google.protobuf.Timestamp.Builder builderForValue) { if (expirationDateBuilder_ == null) { expirationDate_ = builderForValue.build(); } else { expirationDateBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00000080; onChanged(); return this; } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public Builder mergeExpirationDate(com.google.protobuf.Timestamp value) { if (expirationDateBuilder_ == null) { if (((bitField1_ & 0x00000080) != 0) && expirationDate_ != null && expirationDate_ != com.google.protobuf.Timestamp.getDefaultInstance()) { getExpirationDateBuilder().mergeFrom(value); } else { expirationDate_ = value; } } else { expirationDateBuilder_.mergeFrom(value); } if (expirationDate_ != null) { bitField1_ |= 0x00000080; onChanged(); } return this; } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public Builder clearExpirationDate() { bitField1_ = (bitField1_ & ~0x00000080); expirationDate_ = null; if (expirationDateBuilder_ != null) { expirationDateBuilder_.dispose(); expirationDateBuilder_ = null; } onChanged(); return this; } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public com.google.protobuf.Timestamp.Builder getExpirationDateBuilder() { bitField1_ |= 0x00000080; onChanged(); return getExpirationDateFieldBuilder().getBuilder(); } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ public com.google.protobuf.TimestampOrBuilder getExpirationDateOrBuilder() { if (expirationDateBuilder_ != null) { return expirationDateBuilder_.getMessageOrBuilder(); } else { return expirationDate_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : expirationDate_; } } /** * * *
     * Date on which the item should expire, as specified upon insertion, in
     * [ISO
     * 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
     * expiration date is exposed in `productstatuses` as
     * [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
     * and might be earlier if `expirationDate` is too far in the future.
     * Note: It may take 2+ days from the expiration date for the item to
     * actually get deleted.
     * 
* * .google.protobuf.Timestamp expiration_date = 40; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> getExpirationDateFieldBuilder() { if (expirationDateBuilder_ == null) { expirationDateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( getExpirationDate(), getParentForChildren(), isClean()); expirationDate_ = null; } return expirationDateBuilder_; } private com.google.protobuf.LazyStringArrayList includedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureIncludedDestinationsIsMutable() { if (!includedDestinations_.isModifiable()) { includedDestinations_ = new com.google.protobuf.LazyStringArrayList(includedDestinations_); } bitField1_ |= 0x00000100; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @return A list containing the includedDestinations. */ public com.google.protobuf.ProtocolStringList getIncludedDestinationsList() { includedDestinations_.makeImmutable(); return includedDestinations_; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @return The count of includedDestinations. */ public int getIncludedDestinationsCount() { return includedDestinations_.size(); } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param index The index of the element to return. * @return The includedDestinations at the given index. */ public java.lang.String getIncludedDestinations(int index) { return includedDestinations_.get(index); } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param index The index of the value to return. * @return The bytes of the includedDestinations at the given index. */ public com.google.protobuf.ByteString getIncludedDestinationsBytes(int index) { return includedDestinations_.getByteString(index); } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param index The index to set the value at. * @param value The includedDestinations to set. * @return This builder for chaining. */ public Builder setIncludedDestinations(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureIncludedDestinationsIsMutable(); includedDestinations_.set(index, value); bitField1_ |= 0x00000100; onChanged(); return this; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param value The includedDestinations to add. * @return This builder for chaining. */ public Builder addIncludedDestinations(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureIncludedDestinationsIsMutable(); includedDestinations_.add(value); bitField1_ |= 0x00000100; onChanged(); return this; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param values The includedDestinations to add. * @return This builder for chaining. */ public Builder addAllIncludedDestinations(java.lang.Iterable values) { ensureIncludedDestinationsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, includedDestinations_); bitField1_ |= 0x00000100; onChanged(); return this; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @return This builder for chaining. */ public Builder clearIncludedDestinations() { includedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField1_ = (bitField1_ & ~0x00000100); ; onChanged(); return this; } /** * * *
     * The list of destinations to include for this target (corresponds to
     * checked check boxes in Merchant Center). Default destinations are always
     * included unless provided in `excludedDestinations`.
     * 
* * repeated string included_destinations = 43; * * @param value The bytes of the includedDestinations to add. * @return This builder for chaining. */ public Builder addIncludedDestinationsBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureIncludedDestinationsIsMutable(); includedDestinations_.add(value); bitField1_ |= 0x00000100; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList excludedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureExcludedDestinationsIsMutable() { if (!excludedDestinations_.isModifiable()) { excludedDestinations_ = new com.google.protobuf.LazyStringArrayList(excludedDestinations_); } bitField1_ |= 0x00000200; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @return A list containing the excludedDestinations. */ public com.google.protobuf.ProtocolStringList getExcludedDestinationsList() { excludedDestinations_.makeImmutable(); return excludedDestinations_; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @return The count of excludedDestinations. */ public int getExcludedDestinationsCount() { return excludedDestinations_.size(); } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param index The index of the element to return. * @return The excludedDestinations at the given index. */ public java.lang.String getExcludedDestinations(int index) { return excludedDestinations_.get(index); } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param index The index of the value to return. * @return The bytes of the excludedDestinations at the given index. */ public com.google.protobuf.ByteString getExcludedDestinationsBytes(int index) { return excludedDestinations_.getByteString(index); } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param index The index to set the value at. * @param value The excludedDestinations to set. * @return This builder for chaining. */ public Builder setExcludedDestinations(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExcludedDestinationsIsMutable(); excludedDestinations_.set(index, value); bitField1_ |= 0x00000200; onChanged(); return this; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param value The excludedDestinations to add. * @return This builder for chaining. */ public Builder addExcludedDestinations(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureExcludedDestinationsIsMutable(); excludedDestinations_.add(value); bitField1_ |= 0x00000200; onChanged(); return this; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param values The excludedDestinations to add. * @return This builder for chaining. */ public Builder addAllExcludedDestinations(java.lang.Iterable values) { ensureExcludedDestinationsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, excludedDestinations_); bitField1_ |= 0x00000200; onChanged(); return this; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @return This builder for chaining. */ public Builder clearExcludedDestinations() { excludedDestinations_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField1_ = (bitField1_ & ~0x00000200); ; onChanged(); return this; } /** * * *
     * The list of destinations to exclude for this target (corresponds to
     * unchecked check boxes in Merchant Center).
     * 
* * repeated string excluded_destinations = 44; * * @param value The bytes of the excludedDestinations to add. * @return This builder for chaining. */ public Builder addExcludedDestinationsBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureExcludedDestinationsIsMutable(); excludedDestinations_.add(value); bitField1_ |= 0x00000200; onChanged(); return this; } private java.lang.Object pause_ = ""; /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @return Whether the pause field is set. */ public boolean hasPause() { return ((bitField1_ & 0x00000400) != 0); } /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @return The pause. */ public java.lang.String getPause() { java.lang.Object ref = pause_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); pause_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @return The bytes for pause. */ public com.google.protobuf.ByteString getPauseBytes() { java.lang.Object ref = pause_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); pause_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @param value The pause to set. * @return This builder for chaining. */ public Builder setPause(java.lang.String value) { if (value == null) { throw new NullPointerException(); } pause_ = value; bitField1_ |= 0x00000400; onChanged(); return this; } /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @return This builder for chaining. */ public Builder clearPause() { pause_ = getDefaultInstance().getPause(); bitField1_ = (bitField1_ & ~0x00000400); onChanged(); return this; } /** * * *
     * Publication of this item will be temporarily paused.
     * 
* * optional string pause = 45; * * @param value The bytes for pause to set. * @return This builder for chaining. */ public Builder setPauseBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); pause_ = value; bitField1_ |= 0x00000400; onChanged(); return this; } private java.lang.Object customLabel0_ = ""; /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @return Whether the customLabel0 field is set. */ public boolean hasCustomLabel0() { return ((bitField1_ & 0x00000800) != 0); } /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @return The customLabel0. */ public java.lang.String getCustomLabel0() { java.lang.Object ref = customLabel0_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customLabel0_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @return The bytes for customLabel0. */ public com.google.protobuf.ByteString getCustomLabel0Bytes() { java.lang.Object ref = customLabel0_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel0_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @param value The customLabel0 to set. * @return This builder for chaining. */ public Builder setCustomLabel0(java.lang.String value) { if (value == null) { throw new NullPointerException(); } customLabel0_ = value; bitField1_ |= 0x00000800; onChanged(); return this; } /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @return This builder for chaining. */ public Builder clearCustomLabel0() { customLabel0_ = getDefaultInstance().getCustomLabel0(); bitField1_ = (bitField1_ & ~0x00000800); onChanged(); return this; } /** * * *
     * Custom label 0 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_0 = 46; * * @param value The bytes for customLabel0 to set. * @return This builder for chaining. */ public Builder setCustomLabel0Bytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customLabel0_ = value; bitField1_ |= 0x00000800; onChanged(); return this; } private java.lang.Object customLabel1_ = ""; /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @return Whether the customLabel1 field is set. */ public boolean hasCustomLabel1() { return ((bitField1_ & 0x00001000) != 0); } /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @return The customLabel1. */ public java.lang.String getCustomLabel1() { java.lang.Object ref = customLabel1_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customLabel1_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @return The bytes for customLabel1. */ public com.google.protobuf.ByteString getCustomLabel1Bytes() { java.lang.Object ref = customLabel1_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel1_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @param value The customLabel1 to set. * @return This builder for chaining. */ public Builder setCustomLabel1(java.lang.String value) { if (value == null) { throw new NullPointerException(); } customLabel1_ = value; bitField1_ |= 0x00001000; onChanged(); return this; } /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @return This builder for chaining. */ public Builder clearCustomLabel1() { customLabel1_ = getDefaultInstance().getCustomLabel1(); bitField1_ = (bitField1_ & ~0x00001000); onChanged(); return this; } /** * * *
     * Custom label 1 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_1 = 47; * * @param value The bytes for customLabel1 to set. * @return This builder for chaining. */ public Builder setCustomLabel1Bytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customLabel1_ = value; bitField1_ |= 0x00001000; onChanged(); return this; } private java.lang.Object customLabel2_ = ""; /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @return Whether the customLabel2 field is set. */ public boolean hasCustomLabel2() { return ((bitField1_ & 0x00002000) != 0); } /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @return The customLabel2. */ public java.lang.String getCustomLabel2() { java.lang.Object ref = customLabel2_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customLabel2_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @return The bytes for customLabel2. */ public com.google.protobuf.ByteString getCustomLabel2Bytes() { java.lang.Object ref = customLabel2_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel2_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @param value The customLabel2 to set. * @return This builder for chaining. */ public Builder setCustomLabel2(java.lang.String value) { if (value == null) { throw new NullPointerException(); } customLabel2_ = value; bitField1_ |= 0x00002000; onChanged(); return this; } /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @return This builder for chaining. */ public Builder clearCustomLabel2() { customLabel2_ = getDefaultInstance().getCustomLabel2(); bitField1_ = (bitField1_ & ~0x00002000); onChanged(); return this; } /** * * *
     * Custom label 2 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_2 = 48; * * @param value The bytes for customLabel2 to set. * @return This builder for chaining. */ public Builder setCustomLabel2Bytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customLabel2_ = value; bitField1_ |= 0x00002000; onChanged(); return this; } private java.lang.Object customLabel3_ = ""; /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @return Whether the customLabel3 field is set. */ public boolean hasCustomLabel3() { return ((bitField1_ & 0x00004000) != 0); } /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @return The customLabel3. */ public java.lang.String getCustomLabel3() { java.lang.Object ref = customLabel3_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customLabel3_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @return The bytes for customLabel3. */ public com.google.protobuf.ByteString getCustomLabel3Bytes() { java.lang.Object ref = customLabel3_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel3_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @param value The customLabel3 to set. * @return This builder for chaining. */ public Builder setCustomLabel3(java.lang.String value) { if (value == null) { throw new NullPointerException(); } customLabel3_ = value; bitField1_ |= 0x00004000; onChanged(); return this; } /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @return This builder for chaining. */ public Builder clearCustomLabel3() { customLabel3_ = getDefaultInstance().getCustomLabel3(); bitField1_ = (bitField1_ & ~0x00004000); onChanged(); return this; } /** * * *
     * Custom label 3 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_3 = 49; * * @param value The bytes for customLabel3 to set. * @return This builder for chaining. */ public Builder setCustomLabel3Bytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customLabel3_ = value; bitField1_ |= 0x00004000; onChanged(); return this; } private java.lang.Object customLabel4_ = ""; /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @return Whether the customLabel4 field is set. */ public boolean hasCustomLabel4() { return ((bitField1_ & 0x00008000) != 0); } /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @return The customLabel4. */ public java.lang.String getCustomLabel4() { java.lang.Object ref = customLabel4_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); customLabel4_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @return The bytes for customLabel4. */ public com.google.protobuf.ByteString getCustomLabel4Bytes() { java.lang.Object ref = customLabel4_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); customLabel4_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @param value The customLabel4 to set. * @return This builder for chaining. */ public Builder setCustomLabel4(java.lang.String value) { if (value == null) { throw new NullPointerException(); } customLabel4_ = value; bitField1_ |= 0x00008000; onChanged(); return this; } /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @return This builder for chaining. */ public Builder clearCustomLabel4() { customLabel4_ = getDefaultInstance().getCustomLabel4(); bitField1_ = (bitField1_ & ~0x00008000); onChanged(); return this; } /** * * *
     * Custom label 4 for custom grouping of items in a Shopping campaign.
     * 
* * optional string custom_label_4 = 50; * * @param value The bytes for customLabel4 to set. * @return This builder for chaining. */ public Builder setCustomLabel4Bytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); customLabel4_ = value; bitField1_ |= 0x00008000; onChanged(); return this; } private com.google.shopping.css.v1.HeadlineOfferInstallment headlineOfferInstallment_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferInstallment, com.google.shopping.css.v1.HeadlineOfferInstallment.Builder, com.google.shopping.css.v1.HeadlineOfferInstallmentOrBuilder> headlineOfferInstallmentBuilder_; /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * * * @return Whether the headlineOfferInstallment field is set. */ public boolean hasHeadlineOfferInstallment() { return ((bitField1_ & 0x00010000) != 0); } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * * * @return The headlineOfferInstallment. */ public com.google.shopping.css.v1.HeadlineOfferInstallment getHeadlineOfferInstallment() { if (headlineOfferInstallmentBuilder_ == null) { return headlineOfferInstallment_ == null ? com.google.shopping.css.v1.HeadlineOfferInstallment.getDefaultInstance() : headlineOfferInstallment_; } else { return headlineOfferInstallmentBuilder_.getMessage(); } } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public Builder setHeadlineOfferInstallment( com.google.shopping.css.v1.HeadlineOfferInstallment value) { if (headlineOfferInstallmentBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headlineOfferInstallment_ = value; } else { headlineOfferInstallmentBuilder_.setMessage(value); } bitField1_ |= 0x00010000; onChanged(); return this; } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public Builder setHeadlineOfferInstallment( com.google.shopping.css.v1.HeadlineOfferInstallment.Builder builderForValue) { if (headlineOfferInstallmentBuilder_ == null) { headlineOfferInstallment_ = builderForValue.build(); } else { headlineOfferInstallmentBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00010000; onChanged(); return this; } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public Builder mergeHeadlineOfferInstallment( com.google.shopping.css.v1.HeadlineOfferInstallment value) { if (headlineOfferInstallmentBuilder_ == null) { if (((bitField1_ & 0x00010000) != 0) && headlineOfferInstallment_ != null && headlineOfferInstallment_ != com.google.shopping.css.v1.HeadlineOfferInstallment.getDefaultInstance()) { getHeadlineOfferInstallmentBuilder().mergeFrom(value); } else { headlineOfferInstallment_ = value; } } else { headlineOfferInstallmentBuilder_.mergeFrom(value); } if (headlineOfferInstallment_ != null) { bitField1_ |= 0x00010000; onChanged(); } return this; } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public Builder clearHeadlineOfferInstallment() { bitField1_ = (bitField1_ & ~0x00010000); headlineOfferInstallment_ = null; if (headlineOfferInstallmentBuilder_ != null) { headlineOfferInstallmentBuilder_.dispose(); headlineOfferInstallmentBuilder_ = null; } onChanged(); return this; } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public com.google.shopping.css.v1.HeadlineOfferInstallment.Builder getHeadlineOfferInstallmentBuilder() { bitField1_ |= 0x00010000; onChanged(); return getHeadlineOfferInstallmentFieldBuilder().getBuilder(); } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ public com.google.shopping.css.v1.HeadlineOfferInstallmentOrBuilder getHeadlineOfferInstallmentOrBuilder() { if (headlineOfferInstallmentBuilder_ != null) { return headlineOfferInstallmentBuilder_.getMessageOrBuilder(); } else { return headlineOfferInstallment_ == null ? com.google.shopping.css.v1.HeadlineOfferInstallment.getDefaultInstance() : headlineOfferInstallment_; } } /** * * *
     * Number and amount of installments to pay for an item.
     * 
* * .google.shopping.css.v1.HeadlineOfferInstallment headline_offer_installment = 51; * */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferInstallment, com.google.shopping.css.v1.HeadlineOfferInstallment.Builder, com.google.shopping.css.v1.HeadlineOfferInstallmentOrBuilder> getHeadlineOfferInstallmentFieldBuilder() { if (headlineOfferInstallmentBuilder_ == null) { headlineOfferInstallmentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferInstallment, com.google.shopping.css.v1.HeadlineOfferInstallment.Builder, com.google.shopping.css.v1.HeadlineOfferInstallmentOrBuilder>( getHeadlineOfferInstallment(), getParentForChildren(), isClean()); headlineOfferInstallment_ = null; } return headlineOfferInstallmentBuilder_; } private com.google.shopping.css.v1.HeadlineOfferSubscriptionCost headlineOfferSubscriptionCost_; private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferSubscriptionCost, com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.Builder, com.google.shopping.css.v1.HeadlineOfferSubscriptionCostOrBuilder> headlineOfferSubscriptionCostBuilder_; /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * * * @return Whether the headlineOfferSubscriptionCost field is set. */ public boolean hasHeadlineOfferSubscriptionCost() { return ((bitField1_ & 0x00020000) != 0); } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * * * @return The headlineOfferSubscriptionCost. */ public com.google.shopping.css.v1.HeadlineOfferSubscriptionCost getHeadlineOfferSubscriptionCost() { if (headlineOfferSubscriptionCostBuilder_ == null) { return headlineOfferSubscriptionCost_ == null ? com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.getDefaultInstance() : headlineOfferSubscriptionCost_; } else { return headlineOfferSubscriptionCostBuilder_.getMessage(); } } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public Builder setHeadlineOfferSubscriptionCost( com.google.shopping.css.v1.HeadlineOfferSubscriptionCost value) { if (headlineOfferSubscriptionCostBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headlineOfferSubscriptionCost_ = value; } else { headlineOfferSubscriptionCostBuilder_.setMessage(value); } bitField1_ |= 0x00020000; onChanged(); return this; } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public Builder setHeadlineOfferSubscriptionCost( com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.Builder builderForValue) { if (headlineOfferSubscriptionCostBuilder_ == null) { headlineOfferSubscriptionCost_ = builderForValue.build(); } else { headlineOfferSubscriptionCostBuilder_.setMessage(builderForValue.build()); } bitField1_ |= 0x00020000; onChanged(); return this; } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public Builder mergeHeadlineOfferSubscriptionCost( com.google.shopping.css.v1.HeadlineOfferSubscriptionCost value) { if (headlineOfferSubscriptionCostBuilder_ == null) { if (((bitField1_ & 0x00020000) != 0) && headlineOfferSubscriptionCost_ != null && headlineOfferSubscriptionCost_ != com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.getDefaultInstance()) { getHeadlineOfferSubscriptionCostBuilder().mergeFrom(value); } else { headlineOfferSubscriptionCost_ = value; } } else { headlineOfferSubscriptionCostBuilder_.mergeFrom(value); } if (headlineOfferSubscriptionCost_ != null) { bitField1_ |= 0x00020000; onChanged(); } return this; } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public Builder clearHeadlineOfferSubscriptionCost() { bitField1_ = (bitField1_ & ~0x00020000); headlineOfferSubscriptionCost_ = null; if (headlineOfferSubscriptionCostBuilder_ != null) { headlineOfferSubscriptionCostBuilder_.dispose(); headlineOfferSubscriptionCostBuilder_ = null; } onChanged(); return this; } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.Builder getHeadlineOfferSubscriptionCostBuilder() { bitField1_ |= 0x00020000; onChanged(); return getHeadlineOfferSubscriptionCostFieldBuilder().getBuilder(); } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ public com.google.shopping.css.v1.HeadlineOfferSubscriptionCostOrBuilder getHeadlineOfferSubscriptionCostOrBuilder() { if (headlineOfferSubscriptionCostBuilder_ != null) { return headlineOfferSubscriptionCostBuilder_.getMessageOrBuilder(); } else { return headlineOfferSubscriptionCost_ == null ? com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.getDefaultInstance() : headlineOfferSubscriptionCost_; } } /** * * *
     * Number of periods (months or years) and amount of payment per period
     * for an item with an associated subscription contract.
     * 
* * * .google.shopping.css.v1.HeadlineOfferSubscriptionCost headline_offer_subscription_cost = 52; * */ private com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferSubscriptionCost, com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.Builder, com.google.shopping.css.v1.HeadlineOfferSubscriptionCostOrBuilder> getHeadlineOfferSubscriptionCostFieldBuilder() { if (headlineOfferSubscriptionCostBuilder_ == null) { headlineOfferSubscriptionCostBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.shopping.css.v1.HeadlineOfferSubscriptionCost, com.google.shopping.css.v1.HeadlineOfferSubscriptionCost.Builder, com.google.shopping.css.v1.HeadlineOfferSubscriptionCostOrBuilder>( getHeadlineOfferSubscriptionCost(), getParentForChildren(), isClean()); headlineOfferSubscriptionCost_ = null; } return headlineOfferSubscriptionCostBuilder_; } @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.shopping.css.v1.Attributes) } // @@protoc_insertion_point(class_scope:google.shopping.css.v1.Attributes) private static final com.google.shopping.css.v1.Attributes DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.shopping.css.v1.Attributes(); } public static com.google.shopping.css.v1.Attributes getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Attributes 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.shopping.css.v1.Attributes getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy